Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / Microsoft / Win32 / SafeHandles / SafeWaitHandle.cs / 2 / 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);
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProxySimple.cs
- WorkflowViewService.cs
- StylusShape.cs
- XPathDocumentNavigator.cs
- UnsafeNativeMethods.cs
- SmtpNetworkElement.cs
- SmtpException.cs
- StringComparer.cs
- LocalBuilder.cs
- XmlMapping.cs
- Monitor.cs
- PackageRelationshipCollection.cs
- PriorityBindingExpression.cs
- ToolStripLabel.cs
- TextRunProperties.cs
- FamilyTypefaceCollection.cs
- ScriptingWebServicesSectionGroup.cs
- DecoderBestFitFallback.cs
- SystemColorTracker.cs
- CustomError.cs
- Registry.cs
- FileInfo.cs
- HtmlSelect.cs
- QilChoice.cs
- TypeNameParser.cs
- CollectionViewGroup.cs
- RtfNavigator.cs
- CatalogZoneBase.cs
- DataServiceOperationContext.cs
- WrappedDispatcherException.cs
- RepeaterItem.cs
- selecteditemcollection.cs
- FileDialog.cs
- XmlSchemaAttributeGroupRef.cs
- ItemDragEvent.cs
- ConfigurationSchemaErrors.cs
- ContentIterators.cs
- ReferencedAssembly.cs
- XmlNodeChangedEventManager.cs
- RewritingPass.cs
- NTAccount.cs
- LOSFormatter.cs
- DataStorage.cs
- PowerEase.cs
- OrderToken.cs
- DataGridViewRowConverter.cs
- XhtmlBasicImageAdapter.cs
- ObjectQuery_EntitySqlExtensions.cs
- TextTreeRootNode.cs
- WebServiceParameterData.cs
- OrderedDictionary.cs
- TagPrefixAttribute.cs
- Gdiplus.cs
- MsiStyleLogWriter.cs
- DataServiceRequestArgs.cs
- UserControlCodeDomTreeGenerator.cs
- ToolStripLabel.cs
- SerializationObjectManager.cs
- DocumentXPathNavigator.cs
- UriTemplateClientFormatter.cs
- XmlChoiceIdentifierAttribute.cs
- InputReportEventArgs.cs
- FileResponseElement.cs
- ShaderEffect.cs
- XmlReflectionMember.cs
- HMACRIPEMD160.cs
- TextEditorParagraphs.cs
- GeneralTransform3DCollection.cs
- Stroke2.cs
- DrawingDrawingContext.cs
- SurrogateEncoder.cs
- WebBrowserBase.cs
- SessionKeyExpiredException.cs
- HashSet.cs
- BooleanExpr.cs
- CryptoHandle.cs
- ServiceProviders.cs
- ReverseComparer.cs
- EpmAttributeNameBuilder.cs
- AutomationPropertyInfo.cs
- UnionExpr.cs
- FontDifferentiator.cs
- HttpCapabilitiesBase.cs
- OracleFactory.cs
- SqlClientPermission.cs
- ManagementException.cs
- InternalException.cs
- Context.cs
- RandomDelayQueuedSendsAsyncResult.cs
- WmlCalendarAdapter.cs
- Exceptions.cs
- WmlPanelAdapter.cs
- ImageCollectionCodeDomSerializer.cs
- ValidatedControlConverter.cs
- GPRECT.cs
- NativeMethods.cs
- DocumentViewerBase.cs
- RegexGroupCollection.cs
- MetroSerializationManager.cs
- PtsContext.cs