using System; using System.Runtime.ConstrainedExecution; using System.Threading; namespace Microsoft.Win32.SafeHandles { /// Represents a wrapper class for a wait handle. // Token: 0x02000071 RID: 113 public sealed class SafeWaitHandle : SafeHandleZeroOrMinusOneIsInvalid { /// Initializes a new instance of the class. /// An object that represents the pre-existing handle to use. /// true to reliably release the handle during the finalization phase; false to prevent reliable release (not recommended). // Token: 0x060006EF RID: 1775 RVA: 0x00015528 File Offset: 0x00013728 [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public SafeWaitHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { base.SetHandle(existingHandle); } // Token: 0x060006F0 RID: 1776 RVA: 0x00015538 File Offset: 0x00013738 protected override bool ReleaseHandle() { NativeEventCalls.CloseEvent_internal(this.handle); return true; } } }