Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / Microsoft / Win32 / SafeHandles / SafeWaitHandle.cs / 5 / 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
- HybridWebProxyFinder.cs
- PackageFilter.cs
- ValueOfAction.cs
- LinearGradientBrush.cs
- URIFormatException.cs
- AuthenticateEventArgs.cs
- MimeTypeMapper.cs
- ResourceReader.cs
- DataGridCommandEventArgs.cs
- GradientStopCollection.cs
- columnmapkeybuilder.cs
- DelimitedListTraceListener.cs
- DurableErrorHandler.cs
- ResourcePart.cs
- PerformanceCounter.cs
- PermissionSetEnumerator.cs
- WebFormDesignerActionService.cs
- XmlEncodedRawTextWriter.cs
- OleDbConnectionFactory.cs
- DocumentEventArgs.cs
- MD5CryptoServiceProvider.cs
- RemotingException.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- ItemCheckedEvent.cs
- PathFigureCollection.cs
- IntSecurity.cs
- RectangleConverter.cs
- CatalogPart.cs
- Panel.cs
- SelectorItemAutomationPeer.cs
- IdentityManager.cs
- XmlSchemaAttribute.cs
- WindowsNonControl.cs
- Parser.cs
- StreamWriter.cs
- UpDownBase.cs
- CmsInterop.cs
- StringArrayConverter.cs
- DispatcherSynchronizationContext.cs
- Base64Decoder.cs
- Int32Storage.cs
- DataGridItemEventArgs.cs
- Input.cs
- HostedTransportConfigurationManager.cs
- ISessionStateStore.cs
- RelationshipFixer.cs
- FeatureSupport.cs
- FormClosedEvent.cs
- CookieParameter.cs
- InvalidCommandTreeException.cs
- BindingListCollectionView.cs
- Knowncolors.cs
- TextPointer.cs
- DescriptionAttribute.cs
- BeginStoryboard.cs
- ActivityMarkupSerializer.cs
- SqlDeflator.cs
- ValidationHelper.cs
- ResourcesBuildProvider.cs
- DrawingVisualDrawingContext.cs
- DbParameterCollection.cs
- SparseMemoryStream.cs
- Table.cs
- TypeConverter.cs
- PeerTransportSecurityElement.cs
- BatchParser.cs
- HttpDebugHandler.cs
- DrawingVisualDrawingContext.cs
- ListItemCollection.cs
- DataServiceBuildProvider.cs
- WasAdminWrapper.cs
- ScrollData.cs
- ObjectDataSourceStatusEventArgs.cs
- Light.cs
- Soap.cs
- WindowsContainer.cs
- TrackBar.cs
- MonikerBuilder.cs
- _NtlmClient.cs
- KeyToListMap.cs
- DataGridItem.cs
- PrincipalPermission.cs
- MatrixConverter.cs
- DataGridBoolColumn.cs
- TreeNodeBinding.cs
- InstanceCollisionException.cs
- PersonalizationEntry.cs
- MemberAccessException.cs
- Collection.cs
- BooleanStorage.cs
- CounterCreationDataCollection.cs
- SqlCacheDependencyDatabase.cs
- BasicHttpMessageCredentialType.cs
- ControlPropertyNameConverter.cs
- DependentList.cs
- StrokeCollectionDefaultValueFactory.cs
- ReachFixedPageSerializerAsync.cs
- XmlCustomFormatter.cs
- HtmlInputCheckBox.cs
- HttpListenerResponse.cs