Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / Microsoft / Win32 / SafeHandles / SafeWaitHandle.cs / 1 / SafeWaitHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeWaitHandle ** ** ** A wrapper for Win32 events (mutexes, auto reset events, and ** manual reset events). Used by WaitHandle. ** ** ===========================================================*/ using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using System.Runtime.Versioning; using Microsoft.Win32; using System.Threading; namespace Microsoft.Win32.SafeHandles { [SecurityPermission(SecurityAction.LinkDemand,UnmanagedCode=true)] public sealed class SafeWaitHandle : SafeHandleZeroOrMinusOneIsInvalid { // Called by P/Invoke marshaler private SafeWaitHandle() : base(true) { } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public SafeWaitHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(existingHandle); } [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] override protected bool ReleaseHandle() { return Win32Native.CloseHandle(handle); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeWaitHandle ** ** ** A wrapper for Win32 events (mutexes, auto reset events, and ** manual reset events). Used by WaitHandle. ** ** ===========================================================*/ using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using System.Runtime.Versioning; using Microsoft.Win32; using System.Threading; namespace Microsoft.Win32.SafeHandles { [SecurityPermission(SecurityAction.LinkDemand,UnmanagedCode=true)] public sealed class SafeWaitHandle : SafeHandleZeroOrMinusOneIsInvalid { // Called by P/Invoke marshaler private SafeWaitHandle() : base(true) { } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public SafeWaitHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(existingHandle); } [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] override protected bool ReleaseHandle() { return Win32Native.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
- Int32CAMarshaler.cs
- Effect.cs
- SQLInt64.cs
- UnsafeNativeMethods.cs
- NavigationProperty.cs
- XmlRawWriter.cs
- SupportingTokenListenerFactory.cs
- TextMessageEncodingBindingElement.cs
- Vector3DAnimationUsingKeyFrames.cs
- ServiceElement.cs
- WebPartTransformer.cs
- Exceptions.cs
- DrawingContext.cs
- CmsInterop.cs
- XmlElement.cs
- CodeDelegateCreateExpression.cs
- AnnotationResourceCollection.cs
- SoapSchemaMember.cs
- QueryCursorEventArgs.cs
- TextParagraphCache.cs
- Int32Rect.cs
- ThreadExceptionDialog.cs
- HtmlControlPersistable.cs
- DictationGrammar.cs
- LinqDataSourceInsertEventArgs.cs
- BitmapPalettes.cs
- RightsManagementPermission.cs
- WebPartHelpVerb.cs
- TabItemWrapperAutomationPeer.cs
- StateChangeEvent.cs
- CodeCompileUnit.cs
- UnmanagedMemoryStream.cs
- ApplicationSecurityManager.cs
- CodeAttributeDeclarationCollection.cs
- IsolatedStorageFilePermission.cs
- X509Certificate2Collection.cs
- HitTestParameters.cs
- CFStream.cs
- SmiTypedGetterSetter.cs
- EpmContentSerializer.cs
- CryptoProvider.cs
- CodeArrayIndexerExpression.cs
- SqlProvider.cs
- Encoder.cs
- FrameworkContentElementAutomationPeer.cs
- updateconfighost.cs
- ILGenerator.cs
- VisualBrush.cs
- DataRelationCollection.cs
- PrincipalPermissionMode.cs
- BuildDependencySet.cs
- SmiTypedGetterSetter.cs
- ImmComposition.cs
- StrongNamePublicKeyBlob.cs
- DetailsViewDeleteEventArgs.cs
- ListBoxItemWrapperAutomationPeer.cs
- CodeDefaultValueExpression.cs
- UnsafePeerToPeerMethods.cs
- PeerApplicationLaunchInfo.cs
- WeakReferenceList.cs
- ChangeToolStripParentVerb.cs
- XmlSiteMapProvider.cs
- RawMouseInputReport.cs
- Region.cs
- CustomTypeDescriptor.cs
- XmlSchemaSequence.cs
- ContravarianceAdapter.cs
- FixedSOMContainer.cs
- StaticTextPointer.cs
- ExtenderControl.cs
- PackUriHelper.cs
- EventProviderTraceListener.cs
- TextParaLineResult.cs
- EntityDataSourceContainerNameConverter.cs
- FormViewPageEventArgs.cs
- ScriptModule.cs
- ZipIOExtraFieldElement.cs
- Scripts.cs
- OdbcHandle.cs
- EncoderExceptionFallback.cs
- UserControlCodeDomTreeGenerator.cs
- LineSegment.cs
- ObjectListField.cs
- EventPropertyMap.cs
- EventLogPermissionHolder.cs
- XmlEntity.cs
- NumberSubstitution.cs
- Tile.cs
- WindowsListViewScroll.cs
- OleAutBinder.cs
- UIServiceHelper.cs
- SQLBytesStorage.cs
- ZoneLinkButton.cs
- Constraint.cs
- CookieProtection.cs
- IdentityModelDictionary.cs
- HostedHttpRequestAsyncResult.cs
- SimpleBitVector32.cs
- DetailsViewPagerRow.cs
- GeometryGroup.cs