Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- AppSettingsExpressionBuilder.cs
- ResourceSet.cs
- MultiSelectRootGridEntry.cs
- ConsoleCancelEventArgs.cs
- ProgressBarRenderer.cs
- PixelShader.cs
- MergeExecutor.cs
- SystemWebExtensionsSectionGroup.cs
- IFlowDocumentViewer.cs
- InputManager.cs
- IPGlobalProperties.cs
- NetworkInformationPermission.cs
- CodeSubDirectory.cs
- AvTraceDetails.cs
- DataServiceConfiguration.cs
- SubMenuStyleCollection.cs
- UrlMappingsSection.cs
- GridEntry.cs
- TimeoutException.cs
- DataGridDetailsPresenter.cs
- Vector3DAnimationBase.cs
- CodeArrayIndexerExpression.cs
- SudsParser.cs
- PropertyPathWorker.cs
- Mapping.cs
- HttpFileCollectionWrapper.cs
- TextProviderWrapper.cs
- DbProviderFactoriesConfigurationHandler.cs
- _LocalDataStore.cs
- XmlCustomFormatter.cs
- Separator.cs
- DbDataReader.cs
- PenThreadWorker.cs
- _LoggingObject.cs
- FrameAutomationPeer.cs
- WindowsListView.cs
- StreamGeometry.cs
- MobileControl.cs
- Route.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- ParameterDataSourceExpression.cs
- ParenthesizePropertyNameAttribute.cs
- VirtualPathUtility.cs
- ObservableCollectionDefaultValueFactory.cs
- PartialTrustValidationBehavior.cs
- VisemeEventArgs.cs
- DispatcherBuilder.cs
- LicenseProviderAttribute.cs
- KnownAssembliesSet.cs
- TransactionFlowBindingElementImporter.cs
- UnicodeEncoding.cs
- AdRotator.cs
- SqlUdtInfo.cs
- VisualBrush.cs
- Error.cs
- SelectionProcessor.cs
- NamespaceQuery.cs
- NeutralResourcesLanguageAttribute.cs
- RelationshipEndMember.cs
- PointCollection.cs
- EventPropertyMap.cs
- FontDialog.cs
- Rect3D.cs
- CollectionViewSource.cs
- StylusDownEventArgs.cs
- GcSettings.cs
- DataViewSetting.cs
- DataSvcMapFile.cs
- HyperLinkColumn.cs
- LinkUtilities.cs
- MailMessage.cs
- HierarchicalDataBoundControl.cs
- XmlText.cs
- CollectionBuilder.cs
- CorrelationTokenTypeConvertor.cs
- ReflectionHelper.cs
- HttpModuleAction.cs
- oledbconnectionstring.cs
- CompositeScriptReferenceEventArgs.cs
- QueryPageSettingsEventArgs.cs
- ControlEvent.cs
- TraceRecords.cs
- OptimizedTemplateContentHelper.cs
- LoginName.cs
- RootContext.cs
- RuleRefElement.cs
- ObjectDataSourceDisposingEventArgs.cs
- HtmlInputCheckBox.cs
- XamlToRtfWriter.cs
- StorageBasedPackageProperties.cs
- PopupRootAutomationPeer.cs
- XmlSchemaObject.cs
- ToolStripControlHost.cs
- XmlAutoDetectWriter.cs
- ContentAlignmentEditor.cs
- ComContractElementCollection.cs
- WizardPanel.cs
- AccessDataSourceDesigner.cs
- MemberPath.cs
- HitTestWithGeometryDrawingContextWalker.cs