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
- ServiceMemoryGates.cs
- ReadOnlyDataSource.cs
- SortedDictionary.cs
- EventHandlersStore.cs
- ZoomPercentageConverter.cs
- GroupDescription.cs
- MetadataSection.cs
- SettingsPropertyValueCollection.cs
- XmlSchemas.cs
- CounterCreationDataConverter.cs
- PasswordBox.cs
- UnmanagedMemoryStreamWrapper.cs
- ContentHostHelper.cs
- Ops.cs
- CaseInsensitiveHashCodeProvider.cs
- WindowsListView.cs
- WhitespaceRule.cs
- ISFTagAndGuidCache.cs
- VirtualDirectoryMappingCollection.cs
- NotSupportedException.cs
- XpsFilter.cs
- CodeDOMProvider.cs
- XmlTextAttribute.cs
- XmlSchemaAnnotated.cs
- ClaimTypeElement.cs
- SplitterPanel.cs
- BooleanExpr.cs
- ShutDownListener.cs
- ScrollViewerAutomationPeer.cs
- CurrencyManager.cs
- Utils.cs
- ConfigXmlElement.cs
- PresentationAppDomainManager.cs
- RoleManagerEventArgs.cs
- ImageDrawing.cs
- CommandID.cs
- NumericUpDown.cs
- Int32Animation.cs
- WebServiceClientProxyGenerator.cs
- IdnMapping.cs
- EncoderParameters.cs
- PropertyDescriptorComparer.cs
- TemplateBindingExtension.cs
- ConfigurationConverterBase.cs
- CryptoStream.cs
- Hashtable.cs
- Membership.cs
- TemplatedMailWebEventProvider.cs
- DataGridViewLinkColumn.cs
- CorrelationManager.cs
- ResponseStream.cs
- TagPrefixAttribute.cs
- XmlSchemaCollection.cs
- BitmapMetadataBlob.cs
- DocumentEventArgs.cs
- WebPartVerb.cs
- SystemIPGlobalProperties.cs
- AutomationProperties.cs
- ObjectViewListener.cs
- CryptoHelper.cs
- TryLoadRunnableWorkflowCommand.cs
- FrameworkElement.cs
- _NetworkingPerfCounters.cs
- SecurityIdentifierConverter.cs
- InkCanvas.cs
- _ContextAwareResult.cs
- AudioSignalProblemOccurredEventArgs.cs
- CategoryGridEntry.cs
- CryptoStream.cs
- TypeConverterValueSerializer.cs
- PrinterResolution.cs
- ChangeToolStripParentVerb.cs
- DBConcurrencyException.cs
- SafeViewOfFileHandle.cs
- Annotation.cs
- SettingsPropertyValue.cs
- TypeDelegator.cs
- SecurityProtocolCorrelationState.cs
- GeneralTransform3DCollection.cs
- GroupJoinQueryOperator.cs
- DeclarativeCatalogPart.cs
- WebRequestModuleElementCollection.cs
- GridViewRowCollection.cs
- GlobalDataBindingHandler.cs
- ToolStripRendererSwitcher.cs
- ControlBindingsCollection.cs
- EventsTab.cs
- UpdateTranslator.cs
- RootBuilder.cs
- DataGridPageChangedEventArgs.cs
- IListConverters.cs
- WebPartCancelEventArgs.cs
- ComponentDispatcher.cs
- Rect.cs
- BufferBuilder.cs
- ReadOnlyObservableCollection.cs
- HandoffBehavior.cs
- TraceLog.cs
- NonParentingControl.cs
- BuildProvider.cs