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
- BaseUriHelper.cs
- RegexTypeEditor.cs
- Mapping.cs
- ModelPropertyImpl.cs
- QilTernary.cs
- SweepDirectionValidation.cs
- ConstructorBuilder.cs
- SoapTransportImporter.cs
- PathFigureCollectionValueSerializer.cs
- SuppressMessageAttribute.cs
- AsymmetricSignatureFormatter.cs
- SyntaxCheck.cs
- RegexCapture.cs
- TemplateBindingExtensionConverter.cs
- XmlIncludeAttribute.cs
- TextServicesProperty.cs
- ServiceChannelProxy.cs
- SqlDataSourceView.cs
- DependencyPropertyValueSerializer.cs
- SchemaElementLookUpTableEnumerator.cs
- SourceItem.cs
- SupportingTokenSpecification.cs
- Filter.cs
- HtmlInputSubmit.cs
- DiscoveryInnerClientAdhoc11.cs
- TableLayoutStyle.cs
- Atom10FormatterFactory.cs
- PrimarySelectionAdorner.cs
- MDIWindowDialog.cs
- AttachedPropertyBrowsableAttribute.cs
- TypedMessageConverter.cs
- DefinitionBase.cs
- CodeMethodMap.cs
- MenuItemBindingCollection.cs
- parserscommon.cs
- ActivityTypeCodeDomSerializer.cs
- OdbcStatementHandle.cs
- WeakReadOnlyCollection.cs
- IdentityNotMappedException.cs
- pingexception.cs
- WaitForChangedResult.cs
- SqlComparer.cs
- DbDeleteCommandTree.cs
- TdsRecordBufferSetter.cs
- WinEventTracker.cs
- RelativeSource.cs
- ObjectConverter.cs
- IList.cs
- TreeNodeCollection.cs
- SizeAnimationUsingKeyFrames.cs
- XmlResolver.cs
- FolderBrowserDialog.cs
- EncodingTable.cs
- ScriptingJsonSerializationSection.cs
- TypeUtil.cs
- PersistenceTypeAttribute.cs
- MultipleViewProviderWrapper.cs
- Aes.cs
- ObjectDataSourceMethodEventArgs.cs
- ExceptionWrapper.cs
- ThreadStaticAttribute.cs
- QuaternionKeyFrameCollection.cs
- UserControlCodeDomTreeGenerator.cs
- TreeNodeCollection.cs
- SafeNativeMethods.cs
- DbBuffer.cs
- NumberFormatInfo.cs
- ObjectItemAttributeAssemblyLoader.cs
- GenericsInstances.cs
- ColumnTypeConverter.cs
- ErrorFormatter.cs
- InkPresenterAutomationPeer.cs
- MemberInfoSerializationHolder.cs
- Literal.cs
- Rotation3D.cs
- InternalConfigRoot.cs
- ChangePassword.cs
- ErrorFormatterPage.cs
- GlyphsSerializer.cs
- Rect3D.cs
- DrawingImage.cs
- ActivityExecutorDelegateInfo.cs
- GACIdentityPermission.cs
- TemplatePropertyEntry.cs
- ContentElementCollection.cs
- SmtpNegotiateAuthenticationModule.cs
- PreservationFileWriter.cs
- FileFormatException.cs
- _UriTypeConverter.cs
- LinkedList.cs
- SQLDecimalStorage.cs
- GlobalProxySelection.cs
- XPathBinder.cs
- InputScopeNameConverter.cs
- PriorityRange.cs
- DefaultSerializationProviderAttribute.cs
- HttpResponseInternalWrapper.cs
- TargetInvocationException.cs
- EntryPointNotFoundException.cs
- FrameworkRichTextComposition.cs