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
- Triangle.cs
- RawStylusSystemGestureInputReport.cs
- DataControlField.cs
- CodeMethodReturnStatement.cs
- ConnectionInterfaceCollection.cs
- IERequestCache.cs
- TemplateControlParser.cs
- PngBitmapDecoder.cs
- VisualBrush.cs
- GridViewColumnCollection.cs
- FileDialog.cs
- EventInfo.cs
- ImageEditor.cs
- IncrementalReadDecoders.cs
- MetaType.cs
- BinHexDecoder.cs
- ContourSegment.cs
- DisplayInformation.cs
- MachineSettingsSection.cs
- CollectionViewProxy.cs
- Route.cs
- SHA512Managed.cs
- ProgressBar.cs
- XmlSerializerFactory.cs
- PrintEvent.cs
- DynamicEntity.cs
- BitmapEffectDrawing.cs
- HelloOperationCD1AsyncResult.cs
- FixedSOMSemanticBox.cs
- ExpressionBindings.cs
- CTreeGenerator.cs
- __ConsoleStream.cs
- MetaTable.cs
- WebPartPersonalization.cs
- DataServiceException.cs
- ProviderConnectionPoint.cs
- Attributes.cs
- FieldMetadata.cs
- PropertyDescriptorCollection.cs
- recordstatescratchpad.cs
- RightsManagementPermission.cs
- _ListenerResponseStream.cs
- RuntimeHelpers.cs
- SafeSecurityHandles.cs
- WebBrowserBase.cs
- DbExpressionBuilder.cs
- ClrProviderManifest.cs
- OpCodes.cs
- SelectionRange.cs
- VirtualizedItemProviderWrapper.cs
- SharedPersonalizationStateInfo.cs
- SyndicationPerson.cs
- DefaultBinder.cs
- TextPointer.cs
- WorkflowDesignerColors.cs
- EncryptedKey.cs
- TextViewBase.cs
- Trigger.cs
- NullNotAllowedCollection.cs
- CompilationUtil.cs
- ClientRolePrincipal.cs
- TdsRecordBufferSetter.cs
- Schema.cs
- XmlDocumentFragment.cs
- XmlAttribute.cs
- SafeArchiveContext.cs
- BinHexDecoder.cs
- GenericNameHandler.cs
- Transactions.cs
- ConfigurationSchemaErrors.cs
- HttpConfigurationContext.cs
- ProfileSettings.cs
- ServiceHostingEnvironmentSection.cs
- ThousandthOfEmRealPoints.cs
- _ConnectionGroup.cs
- CalculatedColumn.cs
- CodePageEncoding.cs
- RowUpdatedEventArgs.cs
- CryptoHandle.cs
- XmlReflectionImporter.cs
- BindingRestrictions.cs
- DataGridTextBox.cs
- CodeDomSerializer.cs
- WebBaseEventKeyComparer.cs
- TextParagraphCache.cs
- StoreItemCollection.Loader.cs
- RequestBringIntoViewEventArgs.cs
- EncoderFallback.cs
- WebRequestModuleElementCollection.cs
- OrderToken.cs
- DesignerUtils.cs
- Contracts.cs
- PeoplePickerWrapper.cs
- ConfigXmlWhitespace.cs
- HttpRequest.cs
- DataGridItemEventArgs.cs
- DataServiceQueryContinuation.cs
- TextRunProperties.cs
- DataMemberFieldConverter.cs
- PasswordDeriveBytes.cs