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
- LoginDesignerUtil.cs
- SqlConnectionHelper.cs
- ImportDesigner.xaml.cs
- _UncName.cs
- diagnosticsswitches.cs
- PtsCache.cs
- FlowLayoutSettings.cs
- ToolStripControlHost.cs
- IdleTimeoutMonitor.cs
- InvalidateEvent.cs
- LassoHelper.cs
- EFAssociationProvider.cs
- UpWmlMobileTextWriter.cs
- ResourcesBuildProvider.cs
- SchemaContext.cs
- sqlcontext.cs
- XmlLanguage.cs
- PerformanceCounterPermission.cs
- SoapRpcMethodAttribute.cs
- InplaceBitmapMetadataWriter.cs
- DataGridItemCollection.cs
- ReferentialConstraint.cs
- ToolStripPanelRow.cs
- XmlIncludeAttribute.cs
- CodeNamespaceImport.cs
- ToolBarButton.cs
- TextRangeAdaptor.cs
- DataGridViewCellCollection.cs
- ObjectResult.cs
- PropertyGeneratedEventArgs.cs
- ElapsedEventArgs.cs
- SerialReceived.cs
- Page.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- AuthenticationConfig.cs
- BitVec.cs
- CacheDependency.cs
- FirstQueryOperator.cs
- DataGridCommandEventArgs.cs
- DataList.cs
- CapabilitiesUse.cs
- BitmapDecoder.cs
- HitTestDrawingContextWalker.cs
- TraceUtility.cs
- DefaultEventAttribute.cs
- ControlValuePropertyAttribute.cs
- PolicyDesigner.cs
- AmbiguousMatchException.cs
- UnsafeNativeMethods.cs
- FlatButtonAppearance.cs
- QilReference.cs
- AtomicFile.cs
- SEHException.cs
- TabletDeviceInfo.cs
- XComponentModel.cs
- DataFieldConverter.cs
- DataServiceHost.cs
- SqlClientPermission.cs
- StyleXamlParser.cs
- SqlDataSourceFilteringEventArgs.cs
- QuestionEventArgs.cs
- TableLayoutStyleCollection.cs
- DisposableCollectionWrapper.cs
- SafeThemeHandle.cs
- TextCompositionEventArgs.cs
- CaseInsensitiveComparer.cs
- DesignerTransaction.cs
- XsltLoader.cs
- Transactions.cs
- SynchronizedDispatch.cs
- Documentation.cs
- WorkItem.cs
- XmlAtomicValue.cs
- WinFormsComponentEditor.cs
- ExtractorMetadata.cs
- SchemaNames.cs
- EdmSchemaError.cs
- ExeContext.cs
- SQLDecimalStorage.cs
- PeerResolver.cs
- DetailsViewPagerRow.cs
- CodeExporter.cs
- WebPartVerbCollection.cs
- HttpContextWrapper.cs
- ProfileEventArgs.cs
- TreeWalker.cs
- ResourceIDHelper.cs
- CodeDirectionExpression.cs
- WebReferencesBuildProvider.cs
- JavascriptCallbackBehaviorAttribute.cs
- EditorPart.cs
- CodeTypeReferenceExpression.cs
- EnvelopedPkcs7.cs
- PassportAuthenticationEventArgs.cs
- RecordsAffectedEventArgs.cs
- Stacktrace.cs
- OdbcPermission.cs
- RegexCode.cs
- DecoderNLS.cs
- SharedHttpTransportManager.cs