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
- Properties.cs
- XsltContext.cs
- AccessViolationException.cs
- RuntimeIdentifierPropertyAttribute.cs
- sqlpipe.cs
- Merger.cs
- ScopelessEnumAttribute.cs
- CurrentTimeZone.cs
- ItemsPanelTemplate.cs
- CompilerResults.cs
- TypeConverterHelper.cs
- XPathDocumentNavigator.cs
- BitmapPalette.cs
- PropertyChangedEventManager.cs
- ElementHost.cs
- HMACSHA256.cs
- RangeContentEnumerator.cs
- CommunicationObjectFaultedException.cs
- DecimalAnimation.cs
- NegatedConstant.cs
- FormViewModeEventArgs.cs
- BamlWriter.cs
- PlatformNotSupportedException.cs
- PointAnimationUsingPath.cs
- XsltLibrary.cs
- Help.cs
- FileClassifier.cs
- webeventbuffer.cs
- WorkItem.cs
- ApplicationSettingsBase.cs
- TextElementEnumerator.cs
- FrugalMap.cs
- XmlSchemaChoice.cs
- XPathSelfQuery.cs
- MouseDevice.cs
- ConnectionManagementElementCollection.cs
- SqlDataSourceView.cs
- SqlDataSourceSelectingEventArgs.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- ChameleonKey.cs
- SqlMethods.cs
- PersonalizationStateInfoCollection.cs
- MenuItemCollection.cs
- Size.cs
- IProducerConsumerCollection.cs
- SafeHandles.cs
- Compress.cs
- _NtlmClient.cs
- PageCodeDomTreeGenerator.cs
- ConfigXmlText.cs
- RootProfilePropertySettingsCollection.cs
- ViewService.cs
- TypeDependencyAttribute.cs
- AutomationProperty.cs
- RangeValuePattern.cs
- Soap12ProtocolReflector.cs
- TreeNodeMouseHoverEvent.cs
- ToolboxItemAttribute.cs
- CookielessData.cs
- HuffCodec.cs
- CommandSet.cs
- COM2ICategorizePropertiesHandler.cs
- XmlCodeExporter.cs
- AuthenticationSection.cs
- ActivityTrace.cs
- ImageSource.cs
- TextEmbeddedObject.cs
- XmlUtil.cs
- KeyValuePairs.cs
- FlatButtonAppearance.cs
- SQLSingle.cs
- TextTreeUndoUnit.cs
- UIElementCollection.cs
- TemplateBamlRecordReader.cs
- ReceiveContextCollection.cs
- ContextStack.cs
- EntityDataSourceDesigner.cs
- GenericNameHandler.cs
- Restrictions.cs
- TemplateBamlTreeBuilder.cs
- DataViewSetting.cs
- HttpCapabilitiesSectionHandler.cs
- ProcessHostFactoryHelper.cs
- Span.cs
- ScriptHandlerFactory.cs
- SrgsText.cs
- PriorityRange.cs
- BitConverter.cs
- EmptyStringExpandableObjectConverter.cs
- ConditionValidator.cs
- HttpCapabilitiesBase.cs
- SiteMapPath.cs
- TransformedBitmap.cs
- ObjectManager.cs
- WindowsListViewItemCheckBox.cs
- __Filters.cs
- PolicyLevel.cs
- EmbeddedMailObject.cs
- HttpMethodAttribute.cs
- GacUtil.cs