using System; using System.Runtime.ConstrainedExecution; using System.Runtime.InteropServices; using Cpp2IlInjected; using Microsoft.Win32.SafeHandles; namespace System.Threading { /// Encapsulates operating system-specific objects that wait for exclusive access to shared resources. // Token: 0x0200035F RID: 863 [Token(Token = "0x200035F")] [ComVisible(true)] [StructLayout(0)] public abstract class WaitHandle : MarshalByRefObject, IDisposable { /// Initializes a new instance of the class. // Token: 0x0600202D RID: 8237 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x600202D")] [Address(RVA = "0xF86700", Offset = "0xF85700", VA = "0x180F86700")] protected WaitHandle() { } // Token: 0x0600202E RID: 8238 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x600202E")] [Address(RVA = "0xF85530", Offset = "0xF84530", VA = "0x180F85530")] private void Init() { } /// Gets or sets the native operating system handle. /// An representing the native operating system handle. The default is the value of the field. // Token: 0x17000487 RID: 1159 // (get) Token: 0x0600202F RID: 8239 RVA: 0x000156D8 File Offset: 0x000138D8 // (set) Token: 0x06002030 RID: 8240 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x17000487")] [Obsolete] public virtual IntPtr Handle { [Token(Token = "0x600202F")] [Address(RVA = "0xF86780", Offset = "0xF85780", VA = "0x180F86780", Slot = "7")] get { return 0; } [Token(Token = "0x6002030")] [Address(RVA = "0xF868E0", Offset = "0xF858E0", VA = "0x180F868E0", Slot = "8")] set { } } /// Gets or sets the native operating system handle. /// A representing the native operating system handle. // Token: 0x17000488 RID: 1160 // (get) Token: 0x06002031 RID: 8241 RVA: 0x00002082 File Offset: 0x00000282 // (set) Token: 0x06002032 RID: 8242 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x17000488")] public SafeWaitHandle SafeWaitHandle { [Token(Token = "0x6002031")] [Address(RVA = "0xF86820", Offset = "0xF85820", VA = "0x180F86820")] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] get { return null; } [Token(Token = "0x6002032")] [Address(RVA = "0xF869D0", Offset = "0xF859D0", VA = "0x180F869D0")] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] set { } } // Token: 0x06002033 RID: 8243 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x6002033")] [Address(RVA = "0xF856C0", Offset = "0xF846C0", VA = "0x180F856C0")] internal void SetHandleInternal(SafeWaitHandle handle) { } /// Blocks the current thread until the current receives a signal, using a 32-bit signed integer to specify the time interval and specifying whether to exit the synchronization domain before the wait. /// The number of milliseconds to wait, or (-1) to wait indefinitely. /// /// to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . /// /// if the current instance receives a signal; otherwise, . /// The current instance has already been disposed. /// /// is a negative number other than -1, which represents an infinite time-out. /// The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. /// The current instance is a transparent proxy for a in another application domain. // Token: 0x06002034 RID: 8244 RVA: 0x000156F0 File Offset: 0x000138F0 [Token(Token = "0x6002034")] [Address(RVA = "0xF863B0", Offset = "0xF853B0", VA = "0x180F863B0", Slot = "9")] public virtual bool WaitOne(int millisecondsTimeout, bool exitContext) { return default(bool); } /// Blocks the current thread until the current instance receives a signal, using a to specify the time interval and specifying whether to exit the synchronization domain before the wait. /// A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. /// /// to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . /// /// if the current instance receives a signal; otherwise, . /// The current instance has already been disposed. /// /// is a negative number other than -1 milliseconds, which represents an infinite time-out. /// -or- /// is greater than . /// The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. /// The current instance is a transparent proxy for a in another application domain. // Token: 0x06002035 RID: 8245 RVA: 0x00015708 File Offset: 0x00013908 [Token(Token = "0x6002035")] [Address(RVA = "0xF86450", Offset = "0xF85450", VA = "0x180F86450", Slot = "10")] public virtual bool WaitOne(TimeSpan timeout, bool exitContext) { return default(bool); } /// Blocks the current thread until the current receives a signal. /// /// if the current instance receives a signal. If the current instance is never signaled, never returns. /// The current instance has already been disposed. /// The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. /// The current instance is a transparent proxy for a in another application domain. // Token: 0x06002036 RID: 8246 RVA: 0x00015720 File Offset: 0x00013920 [Token(Token = "0x6002036")] [Address(RVA = "0xF86690", Offset = "0xF85690", VA = "0x180F86690", Slot = "11")] public virtual bool WaitOne() { return default(bool); } /// Blocks the current thread until the current receives a signal, using a 32-bit signed integer to specify the time interval in milliseconds. /// The number of milliseconds to wait, or (-1) to wait indefinitely. /// /// if the current instance receives a signal; otherwise, . /// The current instance has already been disposed. /// /// is a negative number other than -1, which represents an infinite time-out. /// The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. /// The current instance is a transparent proxy for a in another application domain. // Token: 0x06002037 RID: 8247 RVA: 0x00015738 File Offset: 0x00013938 [Token(Token = "0x6002037")] [Address(RVA = "0x880D60", Offset = "0x87FD60", VA = "0x180880D60", Slot = "12")] public virtual bool WaitOne(int millisecondsTimeout) { return default(bool); } /// Blocks the current thread until the current instance receives a signal, using a to specify the time interval. /// A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. /// /// if the current instance receives a signal; otherwise, . /// The current instance has already been disposed. /// /// is a negative number other than -1 milliseconds, which represents an infinite time-out. /// -or- /// is greater than . /// The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. /// The current instance is a transparent proxy for a in another application domain. // Token: 0x06002038 RID: 8248 RVA: 0x00015750 File Offset: 0x00013950 [Token(Token = "0x6002038")] [Address(RVA = "0xB96630", Offset = "0xB95630", VA = "0x180B96630", Slot = "13")] public virtual bool WaitOne(TimeSpan timeout) { return default(bool); } // Token: 0x06002039 RID: 8249 RVA: 0x00015768 File Offset: 0x00013968 [Token(Token = "0x6002039")] [Address(RVA = "0xF86530", Offset = "0xF85530", VA = "0x180F86530")] private bool WaitOne(long timeout, bool exitContext) { return default(bool); } // Token: 0x0600203A RID: 8250 RVA: 0x00015780 File Offset: 0x00013980 [Token(Token = "0x600203A")] [Address(RVA = "0xF855B0", Offset = "0xF845B0", VA = "0x180F855B0")] internal static bool InternalWaitOne(SafeHandle waitableSafeHandle, long millisecondsTimeout, bool hasThreadAffinity, bool exitContext) { return default(bool); } /// Waits for all the elements in the specified array to receive a signal, using an value to specify the time interval and specifying whether to exit the synchronization domain before the wait. /// A array containing the objects for which the current instance will wait. This array cannot contain multiple references to the same object (duplicates). /// The number of milliseconds to wait, or (-1) to wait indefinitely. /// /// to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . /// /// when every element in has received a signal; otherwise, . /// The parameter is . /// -or- /// One or more of the objects in the array is . /// -or- /// is an array with no elements and the .NET Framework version is 2.0 or later. /// The array contains elements that are duplicates. /// The number of objects in is greater than the system permits. /// -or- /// The attribute is applied to the thread procedure for the current thread, and contains more than one element. /// /// is an array with no elements and the .NET Framework version is 1.0 or 1.1. /// /// is a negative number other than -1, which represents an infinite time-out. /// The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. /// The array contains a transparent proxy for a in another application domain. // Token: 0x0600203B RID: 8251 RVA: 0x00015798 File Offset: 0x00013998 [Token(Token = "0x600203B")] [Address(RVA = "0xF857B0", Offset = "0xF847B0", VA = "0x180F857B0")] public static bool WaitAll(WaitHandle[] waitHandles, int millisecondsTimeout, bool exitContext) { return default(bool); } /// Waits for all the elements in the specified array to receive a signal, using an value to specify the time interval. /// A array containing the objects for which the current instance will wait. This array cannot contain multiple references to the same object (duplicates). /// The number of milliseconds to wait, or (-1) to wait indefinitely. /// /// when every element in has received a signal; otherwise, . /// The parameter is . /// -or- /// One or more of the objects in the array is . /// -or- /// is an array with no elements. /// In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead. /// /// /// /// /// The array contains elements that are duplicates. /// The number of objects in is greater than the system permits. /// -or- /// The attribute is applied to the thread procedure for the current thread, and contains more than one element. /// /// is a negative number other than -1, which represents an infinite time-out. /// The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. /// The array contains a transparent proxy for a in another application domain. // Token: 0x0600203C RID: 8252 RVA: 0x000157B0 File Offset: 0x000139B0 [Token(Token = "0x600203C")] [Address(RVA = "0xF85AC0", Offset = "0xF84AC0", VA = "0x180F85AC0")] public static bool WaitAll(WaitHandle[] waitHandles, int millisecondsTimeout) { return default(bool); } /// Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed integer to specify the time interval, and specifying whether to exit the synchronization domain before the wait. /// A array containing the objects for which the current instance will wait. /// The number of milliseconds to wait, or (-1) to wait indefinitely. /// /// to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . /// The array index of the object that satisfied the wait, or if no object satisfied the wait and a time interval equivalent to has passed. /// The parameter is . /// -or- /// One or more of the objects in the array is . /// The number of objects in is greater than the system permits. /// /// is an array with no elements, and the .NET Framework version is 1.0 or 1.1. /// /// is a negative number other than -1, which represents an infinite time-out. /// The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. /// /// is an array with no elements, and the .NET Framework version is 2.0 or later. /// The array contains a transparent proxy for a in another application domain. // Token: 0x0600203D RID: 8253 RVA: 0x000157C8 File Offset: 0x000139C8 [Token(Token = "0x600203D")] [Address(RVA = "0xF85B30", Offset = "0xF84B30", VA = "0x180F85B30")] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public static int WaitAny(WaitHandle[] waitHandles, int millisecondsTimeout, bool exitContext) { return 0; } /// Waits for any of the elements in the specified array to receive a signal, using a to specify the time interval and specifying whether to exit the synchronization domain before the wait. /// A array containing the objects for which the current instance will wait. /// A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. /// /// to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . /// The array index of the object that satisfied the wait, or if no object satisfied the wait and a time interval equivalent to has passed. /// The parameter is . /// -or- /// One or more of the objects in the array is . /// The number of objects in is greater than the system permits. /// /// is an array with no elements, and the .NET Framework version is 1.0 or 1.1. /// /// is a negative number other than -1 milliseconds, which represents an infinite time-out. /// -or- /// is greater than . /// The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. /// /// is an array with no elements, and the .NET Framework version is 2.0 or later. /// The array contains a transparent proxy for a in another application domain. // Token: 0x0600203E RID: 8254 RVA: 0x000157E0 File Offset: 0x000139E0 [Token(Token = "0x600203E")] [Address(RVA = "0xF85EF0", Offset = "0xF84EF0", VA = "0x180F85EF0")] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public static int WaitAny(WaitHandle[] waitHandles, TimeSpan timeout, bool exitContext) { return 0; } /// Waits for any of the elements in the specified array to receive a signal. /// A array containing the objects for which the current instance will wait. /// The array index of the object that satisfied the wait. /// The parameter is . /// -or- /// One or more of the objects in the array is . /// The number of objects in is greater than the system permits. /// /// is an array with no elements, and the .NET Framework version is 1.0 or 1.1. /// The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. /// /// is an array with no elements, and the .NET Framework version is 2.0 or later. /// The array contains a transparent proxy for a in another application domain. // Token: 0x0600203F RID: 8255 RVA: 0x000157F8 File Offset: 0x000139F8 [Token(Token = "0x600203F")] [Address(RVA = "0xF85E90", Offset = "0xF84E90", VA = "0x180F85E90")] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public static int WaitAny(WaitHandle[] waitHandles) { return 0; } // Token: 0x06002040 RID: 8256 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x6002040")] [Address(RVA = "0xF85700", Offset = "0xF84700", VA = "0x180F85700")] private static void ThrowAbandonedMutexException() { } // Token: 0x06002041 RID: 8257 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x6002041")] [Address(RVA = "0xF85750", Offset = "0xF84750", VA = "0x180F85750")] private static void ThrowAbandonedMutexException(int location, WaitHandle handle) { } /// Releases all resources held by the current . // Token: 0x06002042 RID: 8258 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x6002042")] [Address(RVA = "0xF85400", Offset = "0xF84400", VA = "0x180F85400", Slot = "14")] public virtual void Close() { } /// When overridden in a derived class, releases the unmanaged resources used by the , and optionally releases the managed resources. /// /// to release both managed and unmanaged resources; to release only unmanaged resources. // Token: 0x06002043 RID: 8259 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x6002043")] [Address(RVA = "0xF85470", Offset = "0xF84470", VA = "0x180F85470", Slot = "15")] protected virtual void Dispose(bool explicitDisposing) { } /// Releases all resources used by the current instance of the class. // Token: 0x06002044 RID: 8260 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x6002044")] [Address(RVA = "0xF854C0", Offset = "0xF844C0", VA = "0x180F854C0", Slot = "6")] public void Dispose() { } // Token: 0x06002045 RID: 8261 RVA: 0x00015810 File Offset: 0x00013A10 [Token(Token = "0x6002045")] [Address(RVA = "0xF85FF0", Offset = "0xF84FF0", VA = "0x180F85FF0")] private static int WaitMultiple(WaitHandle[] waitHandles, int millisecondsTimeout, bool exitContext, bool WaitAll) { return 0; } // Token: 0x06002046 RID: 8262 RVA: 0x00015828 File Offset: 0x00013A28 [Token(Token = "0x6002046")] [Address(RVA = "0xF862A0", Offset = "0xF852A0", VA = "0x180F862A0")] private static int WaitOneNative(SafeHandle waitableSafeHandle, uint millisecondsTimeout, bool hasThreadAffinity, bool exitContext) { return 0; } // Token: 0x06002047 RID: 8263 RVA: 0x00015840 File Offset: 0x00013A40 [Token(Token = "0x6002047")] [Address(RVA = "0xF866B0", Offset = "0xF856B0", VA = "0x180F866B0")] private unsafe static int Wait_internal(IntPtr* handles, int numHandles, bool waitAll, int ms) { return 0; } /// Indicates that a operation timed out before any of the wait handles were signaled. This field is constant. // Token: 0x040011D2 RID: 4562 [Token(Token = "0x40011D2")] public const int WaitTimeout = 258; // Token: 0x040011D3 RID: 4563 [Token(Token = "0x40011D3")] private const int MAX_WAITHANDLES = 64; // Token: 0x040011D4 RID: 4564 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x40011D4")] private IntPtr waitHandle; // Token: 0x040011D5 RID: 4565 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x40011D5")] internal SafeWaitHandle safeWaitHandle; // Token: 0x040011D6 RID: 4566 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40011D6")] internal bool hasThreadAffinity; // Token: 0x040011D7 RID: 4567 [Token(Token = "0x40011D7")] private const int WAIT_OBJECT_0 = 0; // Token: 0x040011D8 RID: 4568 [Token(Token = "0x40011D8")] private const int WAIT_ABANDONED = 128; // Token: 0x040011D9 RID: 4569 [Token(Token = "0x40011D9")] private const int WAIT_FAILED = 2147483647; // Token: 0x040011DA RID: 4570 [Token(Token = "0x40011DA")] private const int ERROR_TOO_MANY_POSTS = 298; /// Represents an invalid native operating system handle. This field is read-only. // Token: 0x040011DB RID: 4571 [Token(Token = "0x40011DB")] protected static readonly IntPtr InvalidHandle; // Token: 0x040011DC RID: 4572 [Token(Token = "0x40011DC")] internal const int MaxWaitHandles = 64; } }