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
- UpDownBase.cs
- SQLBinary.cs
- WorkflowElementDialogWindow.xaml.cs
- ParallelEnumerable.cs
- ADRoleFactoryConfiguration.cs
- EndpointPerformanceCounters.cs
- DataGridLength.cs
- HttpValueCollection.cs
- DiagnosticsConfiguration.cs
- Int32RectConverter.cs
- MailWebEventProvider.cs
- validationstate.cs
- WmfPlaceableFileHeader.cs
- Update.cs
- EventLogPermissionHolder.cs
- ResourcePermissionBaseEntry.cs
- __Error.cs
- WebPartConnectionsCloseVerb.cs
- DateTimeValueSerializer.cs
- ComplexBindingPropertiesAttribute.cs
- Query.cs
- ToolStripManager.cs
- SqlResolver.cs
- WebPartAddingEventArgs.cs
- TextEndOfParagraph.cs
- DataStreams.cs
- ClientTargetSection.cs
- WindowVisualStateTracker.cs
- IndentedTextWriter.cs
- odbcmetadatafactory.cs
- InternalControlCollection.cs
- MethodBuilderInstantiation.cs
- Scene3D.cs
- OracleMonthSpan.cs
- KeyValueSerializer.cs
- EntityDataSourceWizardForm.cs
- RegexTree.cs
- XmlElementList.cs
- FileLoadException.cs
- PrintDialogException.cs
- Crypto.cs
- ErrorWrapper.cs
- QilIterator.cs
- MenuTracker.cs
- DesignOnlyAttribute.cs
- AuthorizationSection.cs
- Debug.cs
- FormViewDeletedEventArgs.cs
- StandardOleMarshalObject.cs
- SafeProcessHandle.cs
- SqlUtils.cs
- ActivityStateRecord.cs
- Transform.cs
- DeviceSpecificDialogCachedState.cs
- User.cs
- LeftCellWrapper.cs
- CodeAttributeDeclarationCollection.cs
- ReturnEventArgs.cs
- PointKeyFrameCollection.cs
- SafeIUnknown.cs
- TextTreeTextNode.cs
- TextElement.cs
- SafeNativeMethodsCLR.cs
- TextTreeObjectNode.cs
- Hyperlink.cs
- UDPClient.cs
- XmlDocumentFragment.cs
- NonBatchDirectoryCompiler.cs
- EmptyEnumerator.cs
- Attributes.cs
- RootNamespaceAttribute.cs
- SectionInformation.cs
- ResourceContainer.cs
- TreeNodeClickEventArgs.cs
- SerializationObjectManager.cs
- WebConfigurationHostFileChange.cs
- RadioButton.cs
- TdsParserStaticMethods.cs
- QueryOutputWriter.cs
- ParallelTimeline.cs
- TableLayoutCellPaintEventArgs.cs
- FileLevelControlBuilderAttribute.cs
- SqlBooleanizer.cs
- ComplexObject.cs
- XmlCompatibilityReader.cs
- StringBuilder.cs
- BamlTreeNode.cs
- RangeValuePattern.cs
- UnauthorizedAccessException.cs
- CharUnicodeInfo.cs
- HttpCapabilitiesBase.cs
- RuleSetReference.cs
- VSWCFServiceContractGenerator.cs
- MetabaseReader.cs
- Material.cs
- SearchForVirtualItemEventArgs.cs
- MgmtResManager.cs
- PriorityBindingExpression.cs
- CodeDOMUtility.cs
- XmlSchemaGroup.cs