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
- CqlQuery.cs
- TreeNodeCollectionEditor.cs
- ReliabilityContractAttribute.cs
- DrawingState.cs
- TextViewSelectionProcessor.cs
- ListControl.cs
- CompositeActivityValidator.cs
- SystemFonts.cs
- DashStyles.cs
- CacheDependency.cs
- DBSqlParserColumn.cs
- _LazyAsyncResult.cs
- HybridObjectCache.cs
- SelectionEditingBehavior.cs
- AssemblyAttributes.cs
- RegexWriter.cs
- Brush.cs
- MaskInputRejectedEventArgs.cs
- DesignerActionList.cs
- EmptyArray.cs
- TextContainerChangeEventArgs.cs
- XPSSignatureDefinition.cs
- XmlSubtreeReader.cs
- HScrollBar.cs
- Logging.cs
- AccessorTable.cs
- TransactionManager.cs
- SystemIPv4InterfaceProperties.cs
- RtfControlWordInfo.cs
- SafeFileMappingHandle.cs
- PieceNameHelper.cs
- ObjectDataSource.cs
- datacache.cs
- xsdvalidator.cs
- ScrollBar.cs
- BinaryReader.cs
- assemblycache.cs
- RadioButtonBaseAdapter.cs
- ServerType.cs
- MenuAdapter.cs
- PropertyMapper.cs
- RepeatBehaviorConverter.cs
- Debugger.cs
- FontDifferentiator.cs
- BooleanStorage.cs
- TreeViewImageGenerator.cs
- PropertyInformation.cs
- _AcceptOverlappedAsyncResult.cs
- IPHostEntry.cs
- SystemResourceKey.cs
- Route.cs
- ToolStripOverflowButton.cs
- HttpListenerException.cs
- FormCollection.cs
- GeometryHitTestParameters.cs
- ConfigXmlCDataSection.cs
- XmlTypeAttribute.cs
- BufferedGraphicsManager.cs
- AutomationPropertyInfo.cs
- WebZone.cs
- RegexParser.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- UMPAttributes.cs
- DataGridTableStyleMappingNameEditor.cs
- ParameterReplacerVisitor.cs
- CLSCompliantAttribute.cs
- AsyncOperationContext.cs
- PopupRootAutomationPeer.cs
- MediaElementAutomationPeer.cs
- ArrayElementGridEntry.cs
- SafeRsaProviderHandle.cs
- PeerApplication.cs
- VerifyHashRequest.cs
- InternalConfigSettingsFactory.cs
- SymbolPair.cs
- WindowsListViewGroup.cs
- XPathAncestorQuery.cs
- StructuredTypeInfo.cs
- FixedSOMFixedBlock.cs
- NaturalLanguageHyphenator.cs
- RequestCache.cs
- updatecommandorderer.cs
- CallSiteOps.cs
- MulticastIPAddressInformationCollection.cs
- SmtpNtlmAuthenticationModule.cs
- ServiceHandle.cs
- BitmapMetadataBlob.cs
- ConnectionString.cs
- WpfMemberInvoker.cs
- SmiTypedGetterSetter.cs
- graph.cs
- BoundField.cs
- ProviderConnectionPointCollection.cs
- ClientSettingsSection.cs
- XmlQualifiedName.cs
- MenuBase.cs
- EntityConnectionStringBuilder.cs
- ProviderIncompatibleException.cs
- LineBreakRecord.cs
- NonSerializedAttribute.cs