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
- ServiceDescriptionContext.cs
- IChannel.cs
- ClientTargetSection.cs
- HitTestWithGeometryDrawingContextWalker.cs
- ChildTable.cs
- IdentityManager.cs
- UnsafeNativeMethods.cs
- Dictionary.cs
- SystemUnicastIPAddressInformation.cs
- AttributeQuery.cs
- SettingsBindableAttribute.cs
- CfgParser.cs
- HMACSHA512.cs
- HMAC.cs
- EdgeModeValidation.cs
- ObjectDataSourceMethodEditor.cs
- DataGridViewMethods.cs
- RangeValidator.cs
- TextControl.cs
- WorkflowDataContext.cs
- DataSourceProvider.cs
- SplashScreen.cs
- ScrollableControl.cs
- NavigationExpr.cs
- DbSetClause.cs
- GeneralTransform3DGroup.cs
- DbConnectionClosed.cs
- DataGridViewCheckBoxColumn.cs
- DataListCommandEventArgs.cs
- ViewBox.cs
- COM2IPerPropertyBrowsingHandler.cs
- LabelAutomationPeer.cs
- AtlasWeb.Designer.cs
- SerializationUtilities.cs
- OleTxTransaction.cs
- IPHostEntry.cs
- SoapEnumAttribute.cs
- LinqDataSourceValidationException.cs
- TraceLog.cs
- CallInfo.cs
- SliderAutomationPeer.cs
- HebrewNumber.cs
- AutomationIdentifier.cs
- Configuration.cs
- EncryptedKeyIdentifierClause.cs
- SoapEnumAttribute.cs
- Regex.cs
- SmiGettersStream.cs
- WorkflowWebHostingModule.cs
- ActivityExecutionContext.cs
- TraceHwndHost.cs
- DataGridViewTextBoxEditingControl.cs
- TypeLibConverter.cs
- PnrpPermission.cs
- Attributes.cs
- XPathArrayIterator.cs
- ConfigurationValue.cs
- EmptyImpersonationContext.cs
- Attribute.cs
- UnsafeNetInfoNativeMethods.cs
- CallbackTimeoutsElement.cs
- ListItem.cs
- SerTrace.cs
- ErrorWebPart.cs
- WebPartTransformerAttribute.cs
- NamespaceQuery.cs
- GridViewUpdatedEventArgs.cs
- DataServiceHostFactory.cs
- WindowsToolbar.cs
- PolicyLevel.cs
- EpmAttributeNameBuilder.cs
- WebEventTraceProvider.cs
- WinFormsComponentEditor.cs
- RandomDelayQueuedSendsAsyncResult.cs
- FlowLayoutPanel.cs
- CallTemplateAction.cs
- EntityDataSourceQueryBuilder.cs
- CompiledIdentityConstraint.cs
- LayoutEditorPart.cs
- SynchronizationHandlesCodeDomSerializer.cs
- EventlogProvider.cs
- ProcessHost.cs
- ResourceDictionaryCollection.cs
- Pens.cs
- COM2EnumConverter.cs
- InertiaTranslationBehavior.cs
- XmlDataSourceNodeDescriptor.cs
- UriTemplateClientFormatter.cs
- FunctionImportElement.cs
- CodeSubDirectoriesCollection.cs
- PathFigureCollectionConverter.cs
- FileDialogCustomPlaces.cs
- ThreadSafeList.cs
- Formatter.cs
- IdentityHolder.cs
- SystemIPInterfaceStatistics.cs
- HtmlSelect.cs
- ControlParameter.cs
- PipelineModuleStepContainer.cs
- DbExpressionVisitor_TResultType.cs