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
- GroupDescription.cs
- AutomationEvent.cs
- Container.cs
- SQLStringStorage.cs
- DataServiceRequestOfT.cs
- DataGridViewLinkColumn.cs
- WinFormsSecurity.cs
- KnownAssembliesSet.cs
- SHA1CryptoServiceProvider.cs
- MLangCodePageEncoding.cs
- EmptyEnumerator.cs
- CodeTypeConstructor.cs
- ExceptionValidationRule.cs
- CopyNamespacesAction.cs
- sqlser.cs
- DbConnectionPoolOptions.cs
- CngKey.cs
- IteratorFilter.cs
- DataGridViewCellStyle.cs
- DataGridBoolColumn.cs
- TextParaClient.cs
- ControlType.cs
- GridView.cs
- DictionaryBase.cs
- SessionState.cs
- XmlChildEnumerator.cs
- XmlDictionaryReaderQuotas.cs
- HttpResponseInternalWrapper.cs
- sqlcontext.cs
- HeaderLabel.cs
- RegistrationServices.cs
- ControlCodeDomSerializer.cs
- WebPartCancelEventArgs.cs
- ServiceDescriptionReflector.cs
- XmlLanguageConverter.cs
- FontCollection.cs
- SystemIPGlobalProperties.cs
- contentDescriptor.cs
- WhiteSpaceTrimStringConverter.cs
- _ScatterGatherBuffers.cs
- DataGridViewCheckBoxCell.cs
- DataGridViewHeaderCell.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- TypeBrowserDialog.cs
- DBDataPermissionAttribute.cs
- MemberInfoSerializationHolder.cs
- MultitargetingHelpers.cs
- CompositionCommandSet.cs
- TimelineCollection.cs
- Converter.cs
- CommandField.cs
- Size3D.cs
- RangeBase.cs
- NullableDoubleSumAggregationOperator.cs
- GridViewPageEventArgs.cs
- RectangleHotSpot.cs
- cache.cs
- ScriptingJsonSerializationSection.cs
- DocumentApplicationJournalEntry.cs
- HoistedLocals.cs
- DragCompletedEventArgs.cs
- ZipIOExtraFieldZip64Element.cs
- TextPointer.cs
- TimeSpanValidatorAttribute.cs
- LocatorGroup.cs
- Publisher.cs
- NumberFormatter.cs
- TcpStreams.cs
- LoginUtil.cs
- Pair.cs
- DataList.cs
- _DigestClient.cs
- MethodToken.cs
- TextParaClient.cs
- SqlDataSourceCustomCommandPanel.cs
- FieldToken.cs
- RelatedImageListAttribute.cs
- DesignerSerializationVisibilityAttribute.cs
- PropertyEmitter.cs
- Misc.cs
- TemplateControlParser.cs
- DtdParser.cs
- MimeWriter.cs
- ConfigurationPermission.cs
- Rotation3DKeyFrameCollection.cs
- RemotingConfiguration.cs
- DataGridGeneralPage.cs
- TypeToken.cs
- HttpVersion.cs
- ObjectIDGenerator.cs
- AssociatedControlConverter.cs
- SqlCacheDependency.cs
- ConnectionConsumerAttribute.cs
- WebPartMenu.cs
- isolationinterop.cs
- ListViewUpdateEventArgs.cs
- ContentType.cs
- SystemColors.cs
- NeutralResourcesLanguageAttribute.cs
- SqlBulkCopyColumnMapping.cs