Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- QilUnary.cs
- MarkerProperties.cs
- COM2Properties.cs
- TargetException.cs
- GenericUriParser.cs
- ScrollPattern.cs
- DrawingState.cs
- Duration.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- HostingEnvironmentException.cs
- XmlAttributes.cs
- SqlCommand.cs
- HtmlSelect.cs
- CompoundFileReference.cs
- HTTPNotFoundHandler.cs
- InkPresenterAutomationPeer.cs
- ProviderBase.cs
- BitArray.cs
- TemplateBamlRecordReader.cs
- SmiEventStream.cs
- SubordinateTransaction.cs
- FrameworkElement.cs
- CompositeControl.cs
- Timeline.cs
- VoiceObjectToken.cs
- OrderingInfo.cs
- VerificationException.cs
- ConfigXmlText.cs
- RuntimeHandles.cs
- MouseOverProperty.cs
- DataGridViewRowsAddedEventArgs.cs
- WindowsStatic.cs
- CompositionTarget.cs
- RepeaterDesigner.cs
- HtmlSelect.cs
- Helper.cs
- Choices.cs
- RemotingConfiguration.cs
- DbConnectionInternal.cs
- IssuedTokenServiceCredential.cs
- PartitionedStream.cs
- SectionInput.cs
- Fonts.cs
- BamlCollectionHolder.cs
- ConstNode.cs
- TypedMessageConverter.cs
- SqlClientPermission.cs
- EntityKey.cs
- ISessionStateStore.cs
- InfoCardTrace.cs
- AddressHeaderCollection.cs
- MergeExecutor.cs
- EntityParameter.cs
- XmlSecureResolver.cs
- CheckBoxRenderer.cs
- PropVariant.cs
- ExpressionBindingCollection.cs
- IntegrationExceptionEventArgs.cs
- XmlSchemaSimpleTypeUnion.cs
- WorkerRequest.cs
- HttpCachePolicy.cs
- ISSmlParser.cs
- TimeSpanStorage.cs
- EntityDataSource.cs
- StreamFormatter.cs
- WindowsToolbar.cs
- DrawingCollection.cs
- FieldValue.cs
- SymLanguageType.cs
- ToolBarButton.cs
- XslTransform.cs
- TraceContext.cs
- ConstrainedDataObject.cs
- OpenTypeLayoutCache.cs
- ReadOnlyDictionary.cs
- ContentPosition.cs
- PenContexts.cs
- AsymmetricKeyExchangeDeformatter.cs
- XamlWrapperReaders.cs
- XmlSchemaSequence.cs
- ToolboxComponentsCreatedEventArgs.cs
- ComplexLine.cs
- XmlException.cs
- RegionInfo.cs
- MouseActionConverter.cs
- XsdDataContractImporter.cs
- Drawing.cs
- SqlDataSourceStatusEventArgs.cs
- SelectedCellsChangedEventArgs.cs
- ElementInit.cs
- TextDocumentView.cs
- DomNameTable.cs
- FilePrompt.cs
- UriWriter.cs
- SqlComparer.cs
- MgmtConfigurationRecord.cs
- ProviderConnectionPointCollection.cs
- TagPrefixAttribute.cs
- ColorIndependentAnimationStorage.cs
- ISO2022Encoding.cs