Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ProxyWebPartConnectionCollection.cs
- DynamicActivityTypeDescriptor.cs
- ImageClickEventArgs.cs
- SqlDataSourceFilteringEventArgs.cs
- XmlSchemaSequence.cs
- SecurityKeyIdentifierClause.cs
- XmlSchemaSequence.cs
- CompressedStack.cs
- ColorConvertedBitmap.cs
- Material.cs
- ValueHandle.cs
- InternalConfigHost.cs
- Nodes.cs
- WhitespaceRule.cs
- XsltConvert.cs
- HandlerBase.cs
- XmlText.cs
- SequentialWorkflowRootDesigner.cs
- ChannelBinding.cs
- SoapProtocolImporter.cs
- DurableInstanceContextProvider.cs
- CodeEventReferenceExpression.cs
- _NegoStream.cs
- StylusDevice.cs
- PeerChannelFactory.cs
- CodeCompileUnit.cs
- GeneralTransformGroup.cs
- TheQuery.cs
- SmtpTransport.cs
- ResourceAttributes.cs
- SettingsSavedEventArgs.cs
- DrawingAttributesDefaultValueFactory.cs
- CurrentChangingEventManager.cs
- DependencySource.cs
- DaylightTime.cs
- OdbcTransaction.cs
- ReceiveErrorHandling.cs
- AuthenticationConfig.cs
- ObjectParameter.cs
- FontCacheUtil.cs
- FlowchartStart.xaml.cs
- WebPartConnectionsEventArgs.cs
- CompilerCollection.cs
- InputEventArgs.cs
- FtpCachePolicyElement.cs
- SourceChangedEventArgs.cs
- UIntPtr.cs
- TextChangedEventArgs.cs
- OleDbDataAdapter.cs
- pingexception.cs
- ClientRolePrincipal.cs
- GcHandle.cs
- SerializableAttribute.cs
- ValidatingReaderNodeData.cs
- DocumentOrderComparer.cs
- TextReader.cs
- StronglyTypedResourceBuilder.cs
- RightsManagementInformation.cs
- XmlCollation.cs
- TextBox.cs
- MachineKeyConverter.cs
- DetailsViewRow.cs
- Point3DKeyFrameCollection.cs
- ContentPlaceHolderDesigner.cs
- Gdiplus.cs
- BookmarkEventArgs.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- ControlCommandSet.cs
- CustomErrorsSectionWrapper.cs
- XamlVector3DCollectionSerializer.cs
- ObjectDataSourceDisposingEventArgs.cs
- ExtenderProvidedPropertyAttribute.cs
- DataGridViewControlCollection.cs
- StyleBamlRecordReader.cs
- TextServicesCompartmentEventSink.cs
- ServiceHttpModule.cs
- WSDualHttpSecurityMode.cs
- BuildManager.cs
- userdatakeys.cs
- IndicCharClassifier.cs
- BitmapScalingModeValidation.cs
- TableLayoutStyleCollection.cs
- AcceleratedTokenProviderState.cs
- CfgArc.cs
- GrabHandleGlyph.cs
- Panel.cs
- SqlConnectionStringBuilder.cs
- GridViewHeaderRowPresenter.cs
- TextSelectionHelper.cs
- SqlDataSourceCommandEventArgs.cs
- StylusDownEventArgs.cs
- HttpRuntime.cs
- RegexGroup.cs
- WmpBitmapEncoder.cs
- ImageMapEventArgs.cs
- Privilege.cs
- XmlCharCheckingWriter.cs
- EmptyStringExpandableObjectConverter.cs
- ConfigXmlComment.cs
- TreeView.cs