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
- VectorConverter.cs
- GridSplitter.cs
- UserPersonalizationStateInfo.cs
- SessionPageStatePersister.cs
- VirtualPathUtility.cs
- UICuesEvent.cs
- InstanceCreationEditor.cs
- DataSvcMapFileSerializer.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- PreservationFileReader.cs
- TypeUnloadedException.cs
- Formatter.cs
- ConfigUtil.cs
- TableLayoutPanelCodeDomSerializer.cs
- ManipulationVelocities.cs
- LoadRetryStrategyFactory.cs
- ParameterCollection.cs
- Trace.cs
- peersecuritysettings.cs
- AlignmentYValidation.cs
- BCryptSafeHandles.cs
- PropertyCondition.cs
- ModelFactory.cs
- IconHelper.cs
- SimpleLine.cs
- SqlOuterApplyReducer.cs
- XmlDocumentSchema.cs
- SqlDataSourceQueryConverter.cs
- MemoryStream.cs
- StreamWithDictionary.cs
- ComplexTypeEmitter.cs
- ByteStack.cs
- TcpDuplicateContext.cs
- SoapExtensionTypeElement.cs
- MatrixIndependentAnimationStorage.cs
- GuidTagList.cs
- VScrollBar.cs
- State.cs
- DataGridViewColumnConverter.cs
- SafeRightsManagementPubHandle.cs
- Section.cs
- ASCIIEncoding.cs
- TextBoxBaseDesigner.cs
- UTF7Encoding.cs
- XMLSyntaxException.cs
- HighlightVisual.cs
- JsonWriter.cs
- CodeDomSerializerBase.cs
- OleDbPermission.cs
- HostVisual.cs
- Error.cs
- ConfigurationStrings.cs
- baseaxisquery.cs
- ListControlStringCollectionEditor.cs
- UdpAnnouncementEndpoint.cs
- BigInt.cs
- RowToParametersTransformer.cs
- ParameterDataSourceExpression.cs
- DBDataPermissionAttribute.cs
- CodeTypeParameterCollection.cs
- TableItemProviderWrapper.cs
- DropShadowBitmapEffect.cs
- ByteConverter.cs
- XmlAttributeAttribute.cs
- VersionPair.cs
- GroupAggregateExpr.cs
- FillRuleValidation.cs
- InvalidProgramException.cs
- AddInBase.cs
- CodeCastExpression.cs
- DbDataReader.cs
- WindowsSolidBrush.cs
- DesignerDataStoredProcedure.cs
- SystemParameters.cs
- ImageList.cs
- XamlReader.cs
- ParagraphVisual.cs
- AssociationSetMetadata.cs
- CatalogZoneDesigner.cs
- EventMappingSettings.cs
- AutoFocusStyle.xaml.cs
- NativeMethods.cs
- WindowsEditBox.cs
- RootBrowserWindowProxy.cs
- AppendHelper.cs
- StreamReader.cs
- PanelStyle.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- SQLInt16Storage.cs
- TextMetrics.cs
- AttributeData.cs
- PathFigure.cs
- ProvidePropertyAttribute.cs
- SafeProcessHandle.cs
- OleStrCAMarshaler.cs
- hresults.cs
- cache.cs
- StylusPoint.cs
- ExtenderProviderService.cs
- ThreadExceptionDialog.cs