Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeProcessHandle.cs / 1305376 / SafeProcessHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeProcessHandle ** ** A wrapper for a process handle ** ** ===========================================================*/ using System; using System.Security; using System.Diagnostics; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; using System.Runtime.ConstrainedExecution; using System.Runtime.Versioning; namespace Microsoft.Win32.SafeHandles { [SuppressUnmanagedCodeSecurityAttribute] internal sealed class SafeProcessHandle : SafeHandleZeroOrMinusOneIsInvalid { internal static SafeProcessHandle InvalidHandle = new SafeProcessHandle(IntPtr.Zero); // Note that OpenProcess returns 0 on failure internal SafeProcessHandle() : base(true) {} internal SafeProcessHandle(IntPtr handle) : base (true) { SetHandle(handle); } // Not currently called //[SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] //internal SafeProcessHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { // SetHandle(existingHandle); //} [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)] [ResourceExposure(ResourceScope.Machine)] internal static extern SafeProcessHandle OpenProcess(int access, bool inherit, int processId); internal void InitialSetHandle(IntPtr h){ Debug.Assert(base.IsInvalid, "Safe handle should only be set once"); base.handle = h; } override protected bool ReleaseHandle() { return SafeNativeMethods.CloseHandle(handle); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Floater.cs
- OptimalBreakSession.cs
- DESCryptoServiceProvider.cs
- UmAlQuraCalendar.cs
- DataGridViewRowConverter.cs
- Point4DValueSerializer.cs
- TTSEngineTypes.cs
- AutomationTextAttribute.cs
- UrlMappingCollection.cs
- DetailsViewDeletedEventArgs.cs
- TabControlEvent.cs
- StringPropertyBuilder.cs
- ColumnMapCopier.cs
- CodeDirectiveCollection.cs
- SweepDirectionValidation.cs
- StringUtil.cs
- DrawingVisualDrawingContext.cs
- InputScopeConverter.cs
- ValueQuery.cs
- EntityDataSourceWizardForm.cs
- ManualResetEvent.cs
- ServiceHostFactory.cs
- CatalogPartCollection.cs
- Run.cs
- ProcessInfo.cs
- NameTable.cs
- initElementDictionary.cs
- UIPermission.cs
- SoapEnumAttribute.cs
- SmiTypedGetterSetter.cs
- OutputCacheSettingsSection.cs
- StylusPointDescription.cs
- PasswordTextContainer.cs
- _ListenerRequestStream.cs
- RepeaterItemCollection.cs
- EdmComplexTypeAttribute.cs
- XmlSchemaInfo.cs
- ExpressionHelper.cs
- Function.cs
- TdsParserStaticMethods.cs
- FontWeightConverter.cs
- TableProviderWrapper.cs
- ConfigPathUtility.cs
- ToolStripPanelRow.cs
- Attributes.cs
- RegexParser.cs
- KeyFrames.cs
- ObsoleteAttribute.cs
- Psha1DerivedKeyGenerator.cs
- PageContent.cs
- PasswordBoxAutomationPeer.cs
- TargetException.cs
- CompilerError.cs
- ActivityMarkupSerializer.cs
- TextCompositionEventArgs.cs
- TraceSection.cs
- ScrollViewer.cs
- BooleanKeyFrameCollection.cs
- IRCollection.cs
- UnsafeNativeMethods.cs
- ListBoxItemAutomationPeer.cs
- EmptyControlCollection.cs
- BindingMAnagerBase.cs
- WindowsAuthenticationEventArgs.cs
- TextTreeUndoUnit.cs
- KeyGestureConverter.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- TCPClient.cs
- MetadataArtifactLoaderCompositeFile.cs
- SqlDependency.cs
- SystemNetworkInterface.cs
- ServiceDiscoveryElement.cs
- BufferBuilder.cs
- DataGridViewAccessibleObject.cs
- MatrixAnimationBase.cs
- X509Extension.cs
- RolePrincipal.cs
- PeerNodeTraceRecord.cs
- StrongNameHelpers.cs
- ModelFactory.cs
- SafeFindHandle.cs
- MultiPropertyDescriptorGridEntry.cs
- StrokeCollectionDefaultValueFactory.cs
- OdbcInfoMessageEvent.cs
- ContentControl.cs
- SafeRegistryHandle.cs
- ComponentChangingEvent.cs
- XmlTypeMapping.cs
- WaitHandle.cs
- DataMember.cs
- PointCollection.cs
- ConfigurationPropertyCollection.cs
- BackStopAuthenticationModule.cs
- TransformedBitmap.cs
- ManagedIStream.cs
- PixelFormat.cs
- FixedHyperLink.cs
- DropSource.cs
- XmlC14NWriter.cs
- TextElementEditingBehaviorAttribute.cs