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
- AutomationIdentifier.cs
- DataStreamFromComStream.cs
- EdmError.cs
- ISAPIApplicationHost.cs
- ResourcePermissionBaseEntry.cs
- ListSortDescription.cs
- DataGridViewElement.cs
- UIElementHelper.cs
- BindingGroup.cs
- CopyNodeSetAction.cs
- DynamicActivityXamlReader.cs
- WebPartDisplayModeEventArgs.cs
- PropertyNames.cs
- ProfileParameter.cs
- OutOfProcStateClientManager.cs
- EnumType.cs
- HashSet.cs
- RtfFormatStack.cs
- _OSSOCK.cs
- MailMessageEventArgs.cs
- DesignTimeParseData.cs
- Quaternion.cs
- QueueProcessor.cs
- ProgressPage.cs
- Parsers.cs
- QilChoice.cs
- DiscoveryMessageSequence11.cs
- ObjectDataProvider.cs
- OracleConnection.cs
- HierarchicalDataSourceControl.cs
- EntityContainerRelationshipSetEnd.cs
- ReadOnlyDictionary.cs
- AssemblyFilter.cs
- GlobalizationSection.cs
- TypeConverterAttribute.cs
- CaseExpr.cs
- XsltException.cs
- TabControlAutomationPeer.cs
- GetChildSubtree.cs
- ExcCanonicalXml.cs
- ThreadExceptionDialog.cs
- UInt64.cs
- ProxyHwnd.cs
- GenericRootAutomationPeer.cs
- ToolStripStatusLabel.cs
- FamilyTypefaceCollection.cs
- DataGridViewRowEventArgs.cs
- objectquery_tresulttype.cs
- DbSourceCommand.cs
- EditorServiceContext.cs
- CuspData.cs
- DataGridViewButtonCell.cs
- UriParserTemplates.cs
- SynchronizingStream.cs
- ICspAsymmetricAlgorithm.cs
- Int32Converter.cs
- MailMessage.cs
- ResolveMatches11.cs
- AuthenticatedStream.cs
- PackagePart.cs
- StringOutput.cs
- ColumnResizeUndoUnit.cs
- RegistryKey.cs
- XmlReaderDelegator.cs
- sqlser.cs
- MethodAccessException.cs
- SyndicationSerializer.cs
- ResourcesGenerator.cs
- AppDomainManager.cs
- ContextMarshalException.cs
- _AutoWebProxyScriptEngine.cs
- SqlProcedureAttribute.cs
- DeviceContexts.cs
- TextAnchor.cs
- Clock.cs
- Trace.cs
- NodeFunctions.cs
- SafeLocalAllocation.cs
- DoubleCollectionConverter.cs
- EntityAdapter.cs
- SoapCodeExporter.cs
- TextReader.cs
- ContractMapping.cs
- WhitespaceReader.cs
- DataServicePagingProviderWrapper.cs
- PreApplicationStartMethodAttribute.cs
- DataExpression.cs
- EventMappingSettings.cs
- UInt16.cs
- AffineTransform3D.cs
- listitem.cs
- Point.cs
- UInt32Converter.cs
- FileDataSourceCache.cs
- ActivityInstanceReference.cs
- ToolStripItem.cs
- EndpointInstanceProvider.cs
- StringAttributeCollection.cs
- DatePicker.cs
- ObjectDataSourceEventArgs.cs