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
- ArraySegment.cs
- EncoderParameters.cs
- DetailsViewPagerRow.cs
- AssemblyUtil.cs
- FloaterParagraph.cs
- RegexCapture.cs
- UnsafeNativeMethods.cs
- Transform.cs
- DataBindingHandlerAttribute.cs
- NavigationEventArgs.cs
- SoapConverter.cs
- DbUpdateCommandTree.cs
- CompilationLock.cs
- DemultiplexingClientMessageFormatter.cs
- CatalogZoneBase.cs
- MetadataItem.cs
- ConnectionPoolManager.cs
- TextElementCollectionHelper.cs
- CryptoStream.cs
- ReferentialConstraint.cs
- ConfigXmlSignificantWhitespace.cs
- StyleXamlParser.cs
- ReachDocumentReferenceSerializer.cs
- DesignTimeParseData.cs
- OlePropertyStructs.cs
- TraceContextRecord.cs
- SqlErrorCollection.cs
- FilteredXmlReader.cs
- XmlEncoding.cs
- SelectionChangedEventArgs.cs
- PrinterResolution.cs
- RulePatternOps.cs
- XmlSchema.cs
- MultilineStringConverter.cs
- NamedPermissionSet.cs
- ContentIterators.cs
- EDesignUtil.cs
- DataSourceCache.cs
- RawUIStateInputReport.cs
- SettingsBindableAttribute.cs
- ThicknessConverter.cs
- List.cs
- RolePrincipal.cs
- SoapTypeAttribute.cs
- CalendarDesigner.cs
- FullTextBreakpoint.cs
- TypeConverterBase.cs
- XsltSettings.cs
- TypeExtension.cs
- SafeCryptoHandles.cs
- StdValidatorsAndConverters.cs
- EventLogger.cs
- FilterQuery.cs
- DisableDpiAwarenessAttribute.cs
- DataComponentGenerator.cs
- SaveCardRequest.cs
- ReflectTypeDescriptionProvider.cs
- CommandDevice.cs
- Point3DCollection.cs
- SoapInteropTypes.cs
- ReaderWriterLock.cs
- CodeAttributeDeclaration.cs
- ArcSegment.cs
- Timer.cs
- RadioButtonFlatAdapter.cs
- DrawingVisualDrawingContext.cs
- AlternateView.cs
- ThicknessAnimationBase.cs
- GroupJoinQueryOperator.cs
- BufferBuilder.cs
- HttpInputStream.cs
- MultipleViewPattern.cs
- RSAPKCS1KeyExchangeFormatter.cs
- x509store.cs
- xmlsaver.cs
- XmlObjectSerializerContext.cs
- TableTextElementCollectionInternal.cs
- BindingValueChangedEventArgs.cs
- FrameworkElementAutomationPeer.cs
- DropDownList.cs
- OperationAbortedException.cs
- ForceCopyBuildProvider.cs
- NativeMethods.cs
- ScriptResourceAttribute.cs
- hebrewshape.cs
- EndpointDiscoveryElement.cs
- MimeXmlReflector.cs
- VirtualDirectoryMapping.cs
- CultureSpecificCharacterBufferRange.cs
- Delegate.cs
- RectangleGeometry.cs
- DataBindingExpressionBuilder.cs
- TemplateBuilder.cs
- SystemIPInterfaceProperties.cs
- ExceptionUtil.cs
- SelectedGridItemChangedEvent.cs
- CompilerError.cs
- DataGridViewDataErrorEventArgs.cs
- DictionaryContent.cs
- ToolStripItemEventArgs.cs