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
- QilInvoke.cs
- AttributeData.cs
- BuildProvider.cs
- ListenerAdapter.cs
- ListViewUpdatedEventArgs.cs
- SettingsProviderCollection.cs
- XmlWellformedWriterHelpers.cs
- COM2ComponentEditor.cs
- DbReferenceCollection.cs
- SecurityDescriptor.cs
- AdapterDictionary.cs
- UserNameSecurityTokenAuthenticator.cs
- QueryResult.cs
- XmlIgnoreAttribute.cs
- CommentAction.cs
- BinaryEditor.cs
- ResourcesBuildProvider.cs
- NumberFormatter.cs
- XmlNodeComparer.cs
- WebPartConnectionsEventArgs.cs
- CustomActivityDesigner.cs
- ISCIIEncoding.cs
- ThreadInterruptedException.cs
- Slider.cs
- QueryStringConverter.cs
- PropertyInformation.cs
- WindowsFormsSectionHandler.cs
- TreeViewImageIndexConverter.cs
- TabControlCancelEvent.cs
- BitmapVisualManager.cs
- GridViewSortEventArgs.cs
- SecurityState.cs
- BitmapPalettes.cs
- Rule.cs
- ChannelParameterCollection.cs
- SocketAddress.cs
- NameNode.cs
- NetworkCredential.cs
- HatchBrush.cs
- AssemblyBuilder.cs
- HtmlMeta.cs
- SimpleApplicationHost.cs
- GenericIdentity.cs
- OrderedHashRepartitionEnumerator.cs
- RowToParametersTransformer.cs
- CompositeCollection.cs
- ItemChangedEventArgs.cs
- NavigationEventArgs.cs
- ObjectDataSource.cs
- UIPermission.cs
- HttpHandlerActionCollection.cs
- IISMapPath.cs
- EntityUtil.cs
- MergablePropertyAttribute.cs
- invalidudtexception.cs
- LabelLiteral.cs
- ListBindingConverter.cs
- Tokenizer.cs
- TransactionFormatter.cs
- RealProxy.cs
- CommandHelpers.cs
- documentation.cs
- PathSegmentCollection.cs
- FunctionImportElement.cs
- Button.cs
- ViewBox.cs
- ResourcesChangeInfo.cs
- BitmapEffectrendercontext.cs
- HuffmanTree.cs
- EventToken.cs
- RoutedEventValueSerializer.cs
- SecurityAlgorithmSuiteConverter.cs
- TextTrailingCharacterEllipsis.cs
- MenuItemStyle.cs
- DecimalAverageAggregationOperator.cs
- ListBoxAutomationPeer.cs
- FileSystemWatcher.cs
- ExpressionEditorAttribute.cs
- FolderBrowserDialog.cs
- ResetableIterator.cs
- LogicalExpressionEditor.cs
- EdmSchemaAttribute.cs
- SettingsPropertyNotFoundException.cs
- ChildrenQuery.cs
- __Filters.cs
- ToolStripManager.cs
- SystemIPv4InterfaceProperties.cs
- SqlMethodAttribute.cs
- BreadCrumbTextConverter.cs
- SmiMetaData.cs
- ScriptingProfileServiceSection.cs
- LinqDataSourceSelectEventArgs.cs
- SecurityDescriptor.cs
- InfoCardRequestException.cs
- Size3DValueSerializer.cs
- Contracts.cs
- CultureTableRecord.cs
- IUnknownConstantAttribute.cs
- EventLogStatus.cs
- MachineKey.cs