ThreadPool.UnsafeRegisterWaitForSingleObject 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
대리자를 등록하여 대기 WaitHandle하지만 호출 스택을 작업자 스레드로 전파하지는 않습니다.
오버로드
| Name | Description |
|---|---|
| UnsafeRegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, TimeSpan, Boolean) |
시간 제한 값을 지정하여 WaitHandle 대기TimeSpan할 대리자를 등록합니다. 이 메서드는 호출 스택을 작업자 스레드로 전파하지 않습니다. |
| UnsafeRegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, Int32, Boolean) |
시간 제한(밀리초)에 WaitHandle대해 부가된 32비트 정수로 대기할 대리자를 등록합니다. 이 메서드는 호출 스택을 작업자 스레드로 전파하지 않습니다. |
| UnsafeRegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, Int64, Boolean) |
시간 제한(밀리초)에 대해 WaitHandle부가된 64비트 정수를 지정하여 대기할 대리자를 등록합니다. 이 메서드는 호출 스택을 작업자 스레드로 전파하지 않습니다. |
| UnsafeRegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean) |
시간 제한(밀리초)에 대해 WaitHandle부호 없는 32비트 정수를 지정하여 대기할 대리자를 등록합니다. 이 메서드는 호출 스택을 작업자 스레드로 전파하지 않습니다. |
UnsafeRegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, TimeSpan, Boolean)
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
시간 제한 값을 지정하여 WaitHandle 대기TimeSpan할 대리자를 등록합니다. 이 메서드는 호출 스택을 작업자 스레드로 전파하지 않습니다.
public:
static System::Threading::RegisteredWaitHandle ^ UnsafeRegisterWaitForSingleObject(System::Threading::WaitHandle ^ waitObject, System::Threading::WaitOrTimerCallback ^ callBack, System::Object ^ state, TimeSpan timeout, bool executeOnlyOnce);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object? state, TimeSpan timeout, bool executeOnlyOnce);
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object state, TimeSpan timeout, bool executeOnlyOnce);
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object? state, TimeSpan timeout, bool executeOnlyOnce);
[System.Security.SecurityCritical]
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object state, TimeSpan timeout, bool executeOnlyOnce);
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * TimeSpan * bool -> System.Threading.RegisteredWaitHandle
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * TimeSpan * bool -> System.Threading.RegisteredWaitHandle
[<System.Security.SecurityCritical>]
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * TimeSpan * bool -> System.Threading.RegisteredWaitHandle
Public Shared Function UnsafeRegisterWaitForSingleObject (waitObject As WaitHandle, callBack As WaitOrTimerCallback, state As Object, timeout As TimeSpan, executeOnlyOnce As Boolean) As RegisteredWaitHandle
매개 변수
- waitObject
- WaitHandle
WaitHandle 등록할 수 있습니다. 가 아닌 WaitHandle다른 것을 Mutex 사용합니다.
- callBack
- WaitOrTimerCallback
매개 변수가 신호를 보낼 때 waitObject 호출할 대리자입니다.
- state
- Object
대리자에게 전달되는 개체입니다.
- timeout
- TimeSpan
로 표시되는 시간 제한입니다 TimeSpan. 0이면 timeout 함수는 개체의 상태를 테스트하고 즉시 반환합니다. -1이면 timeout 함수의 제한 시간 간격이 경과하지 않습니다.
- executeOnlyOnce
- Boolean
true대리자가 호출 waitObject 된 후 스레드가 더 이상 매개 변수를 false 대기하지 않음을 나타내려면 대기 작업이 완료될 때마다 타이머가 다시 설정됨을 나타냅니다.
반품
RegisteredWaitHandle 등록된 대기 작업을 취소하는 데 사용할 수 있는 개체입니다.
- 특성
예외
timeout 매개 변수가 -1보다 작습니다.
timeout 매개 변수가 Int32.MaxValue보다 큰 경우
호출자에게 필요한 권한이 없습니다.
설명
메서드 RegisterWaitForSingleObject 와 UnsafeRegisterWaitForSingleObject 달리 호출 스택을 작업자 스레드로 전파하지 않습니다. 이렇게 하면 코드가 호출 스택을 손실하여 보안 권한을 높일 수 있습니다.
Caution
사용하면 UnsafeRegisterWaitForSingleObject 실수로 보안 구멍이 열릴 수 있습니다. 코드 액세스 보안은 스택에 있는 모든 호출자의 사용 권한에 대한 권한 검사를 기반으로 합니다. 작업을 사용하여 UnsafeRegisterWaitForSingleObject스레드 풀 스레드에서 큐에 대기하는 경우 스레드 풀 스레드의 스택에는 실제 호출자의 컨텍스트가 없습니다. 악의적인 코드가 이를 악용하여 권한 검사를 방지할 수 있습니다.
기본 Windows API는 기본 Mutex 플래그를 사용하므로 각 콜백이 별도의 스레드 풀 스레드에서 디스패치되므로 waitObjectWT_EXECUTEDEFAULT 사용하면 콜백에 대한 상호 제외가 제공되지 않습니다.
이 메서드에서 반환된 항목 사용을 RegisteredWaitHandle 마치면 해당 메서드를 RegisteredWaitHandle.Unregister 호출하여 대기 핸들에 대한 참조를 해제합니다. 를 지정 RegisteredWaitHandle.Unregister 하는 경우에도 항상 메서드를 호출 true 하는 executeOnlyOnce것이 좋습니다. 가비지 수집은 등록된 대기 핸들의 종료자에 따라 메서드를 호출 RegisteredWaitHandle.Unregister 하는 경우 보다 효율적으로 작동합니다.
추가 정보
적용 대상
UnsafeRegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, Int32, Boolean)
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
시간 제한(밀리초)에 WaitHandle대해 부가된 32비트 정수로 대기할 대리자를 등록합니다. 이 메서드는 호출 스택을 작업자 스레드로 전파하지 않습니다.
public:
static System::Threading::RegisteredWaitHandle ^ UnsafeRegisterWaitForSingleObject(System::Threading::WaitHandle ^ waitObject, System::Threading::WaitOrTimerCallback ^ callBack, System::Object ^ state, int millisecondsTimeOutInterval, bool executeOnlyOnce);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object? state, int millisecondsTimeOutInterval, bool executeOnlyOnce);
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object state, int millisecondsTimeOutInterval, bool executeOnlyOnce);
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object? state, int millisecondsTimeOutInterval, bool executeOnlyOnce);
[System.Security.SecurityCritical]
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object state, int millisecondsTimeOutInterval, bool executeOnlyOnce);
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * int * bool -> System.Threading.RegisteredWaitHandle
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * int * bool -> System.Threading.RegisteredWaitHandle
[<System.Security.SecurityCritical>]
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * int * bool -> System.Threading.RegisteredWaitHandle
Public Shared Function UnsafeRegisterWaitForSingleObject (waitObject As WaitHandle, callBack As WaitOrTimerCallback, state As Object, millisecondsTimeOutInterval As Integer, executeOnlyOnce As Boolean) As RegisteredWaitHandle
매개 변수
- waitObject
- WaitHandle
WaitHandle 등록할 수 있습니다. 가 아닌 WaitHandle다른 것을 Mutex 사용합니다.
- callBack
- WaitOrTimerCallback
매개 변수가 신호를 보낼 때 waitObject 호출할 대리자입니다.
- state
- Object
대리자에게 전달되는 개체입니다.
- millisecondsTimeOutInterval
- Int32
시간 제한(밀리초)입니다. 매개 변수가 millisecondsTimeOutInterval 0이면 함수는 개체의 상태를 테스트하고 즉시 반환합니다. -1이면 millisecondsTimeOutInterval 함수의 제한 시간 간격이 경과하지 않습니다.
- executeOnlyOnce
- Boolean
true대리자가 호출 waitObject 된 후 스레드가 더 이상 매개 변수를 false 대기하지 않음을 나타내려면 대기 작업이 완료될 때마다 타이머가 다시 설정됨을 나타냅니다.
반품
RegisteredWaitHandle 등록된 대기 작업을 취소하는 데 사용할 수 있는 개체입니다.
- 특성
예외
millisecondsTimeOutInterval 매개 변수가 -1보다 작습니다.
호출자에게 필요한 권한이 없습니다.
설명
메서드 RegisterWaitForSingleObject 와 UnsafeRegisterWaitForSingleObject 달리 호출 스택을 작업자 스레드로 전파하지 않습니다. 이렇게 하면 코드가 호출 스택을 손실하여 보안 권한을 높일 수 있습니다.
Caution
사용하면 UnsafeRegisterWaitForSingleObject 실수로 보안 구멍이 열릴 수 있습니다. 코드 액세스 보안은 스택에 있는 모든 호출자의 사용 권한에 대한 권한 검사를 기반으로 합니다. 작업을 사용하여 UnsafeRegisterWaitForSingleObject스레드 풀 스레드에서 큐에 대기하는 경우 스레드 풀 스레드의 스택에는 실제 호출자의 컨텍스트가 없습니다. 악의적인 코드가 이를 악용하여 권한 검사를 방지할 수 있습니다.
기본 Windows API는 기본 Mutex 플래그를 사용하므로 각 콜백이 별도의 스레드 풀 스레드에서 디스패치되므로 waitObjectWT_EXECUTEDEFAULT 사용하면 콜백에 대한 상호 제외가 제공되지 않습니다.
이 메서드에서 반환된 항목 사용을 RegisteredWaitHandle 마치면 해당 메서드를 RegisteredWaitHandle.Unregister 호출하여 대기 핸들에 대한 참조를 해제합니다. 를 지정 RegisteredWaitHandle.Unregister 하는 경우에도 항상 메서드를 호출 true 하는 executeOnlyOnce것이 좋습니다. 가비지 수집은 등록된 대기 핸들의 종료자에 따라 메서드를 호출 RegisteredWaitHandle.Unregister 하는 경우 보다 효율적으로 작동합니다.
추가 정보
적용 대상
UnsafeRegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, Int64, Boolean)
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
시간 제한(밀리초)에 대해 WaitHandle부가된 64비트 정수를 지정하여 대기할 대리자를 등록합니다. 이 메서드는 호출 스택을 작업자 스레드로 전파하지 않습니다.
public:
static System::Threading::RegisteredWaitHandle ^ UnsafeRegisterWaitForSingleObject(System::Threading::WaitHandle ^ waitObject, System::Threading::WaitOrTimerCallback ^ callBack, System::Object ^ state, long millisecondsTimeOutInterval, bool executeOnlyOnce);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object? state, long millisecondsTimeOutInterval, bool executeOnlyOnce);
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object state, long millisecondsTimeOutInterval, bool executeOnlyOnce);
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object? state, long millisecondsTimeOutInterval, bool executeOnlyOnce);
[System.Security.SecurityCritical]
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object state, long millisecondsTimeOutInterval, bool executeOnlyOnce);
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * int64 * bool -> System.Threading.RegisteredWaitHandle
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * int64 * bool -> System.Threading.RegisteredWaitHandle
[<System.Security.SecurityCritical>]
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * int64 * bool -> System.Threading.RegisteredWaitHandle
Public Shared Function UnsafeRegisterWaitForSingleObject (waitObject As WaitHandle, callBack As WaitOrTimerCallback, state As Object, millisecondsTimeOutInterval As Long, executeOnlyOnce As Boolean) As RegisteredWaitHandle
매개 변수
- waitObject
- WaitHandle
WaitHandle 등록할 수 있습니다. 가 아닌 WaitHandle다른 것을 Mutex 사용합니다.
- callBack
- WaitOrTimerCallback
매개 변수가 신호를 보낼 때 waitObject 호출할 대리자입니다.
- state
- Object
대리자에게 전달되는 개체입니다.
- millisecondsTimeOutInterval
- Int64
시간 제한(밀리초)입니다. 매개 변수가 millisecondsTimeOutInterval 0이면 함수는 개체의 상태를 테스트하고 즉시 반환합니다. -1이면 millisecondsTimeOutInterval 함수의 제한 시간 간격이 경과하지 않습니다.
- executeOnlyOnce
- Boolean
true대리자가 호출 waitObject 된 후 스레드가 더 이상 매개 변수를 false 대기하지 않음을 나타내려면 대기 작업이 완료될 때마다 타이머가 다시 설정됨을 나타냅니다.
반품
RegisteredWaitHandle 등록된 대기 작업을 취소하는 데 사용할 수 있는 개체입니다.
- 특성
예외
millisecondsTimeOutInterval 매개 변수가 -1보다 작습니다.
호출자에게 필요한 권한이 없습니다.
설명
메서드 RegisterWaitForSingleObject 와 UnsafeRegisterWaitForSingleObject 달리 호출 스택을 작업자 스레드로 전파하지 않습니다. 이렇게 하면 코드가 호출 스택을 손실하여 보안 권한을 높일 수 있습니다.
Caution
사용하면 UnsafeRegisterWaitForSingleObject 실수로 보안 구멍이 열릴 수 있습니다. 코드 액세스 보안은 스택에 있는 모든 호출자의 사용 권한에 대한 권한 검사를 기반으로 합니다. 작업을 사용하여 UnsafeRegisterWaitForSingleObject스레드 풀 스레드에서 큐에 대기하는 경우 스레드 풀 스레드의 스택에는 실제 호출자의 컨텍스트가 없습니다. 악의적인 코드가 이를 악용하여 권한 검사를 방지할 수 있습니다.
기본 Windows API는 기본 Mutex 플래그를 사용하므로 각 콜백이 별도의 스레드 풀 스레드에서 디스패치되므로 waitObjectWT_EXECUTEDEFAULT 사용하면 콜백에 대한 상호 제외가 제공되지 않습니다.
이 메서드에서 반환된 항목 사용을 RegisteredWaitHandle 마치면 해당 메서드를 RegisteredWaitHandle.Unregister 호출하여 대기 핸들에 대한 참조를 해제합니다. 를 지정 RegisteredWaitHandle.Unregister 하는 경우에도 항상 메서드를 호출 true 하는 executeOnlyOnce것이 좋습니다. 가비지 수집은 등록된 대기 핸들의 종료자에 따라 메서드를 호출 RegisteredWaitHandle.Unregister 하는 경우 보다 효율적으로 작동합니다.
추가 정보
적용 대상
UnsafeRegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean)
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
- Source:
- ThreadPoolWorkQueue.cs
Important
이 API는 CLS 규격이 아닙니다.
시간 제한(밀리초)에 대해 WaitHandle부호 없는 32비트 정수를 지정하여 대기할 대리자를 등록합니다. 이 메서드는 호출 스택을 작업자 스레드로 전파하지 않습니다.
public:
static System::Threading::RegisteredWaitHandle ^ UnsafeRegisterWaitForSingleObject(System::Threading::WaitHandle ^ waitObject, System::Threading::WaitOrTimerCallback ^ callBack, System::Object ^ state, System::UInt32 millisecondsTimeOutInterval, bool executeOnlyOnce);
[System.CLSCompliant(false)]
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object? state, uint millisecondsTimeOutInterval, bool executeOnlyOnce);
[System.CLSCompliant(false)]
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object state, uint millisecondsTimeOutInterval, bool executeOnlyOnce);
[System.CLSCompliant(false)]
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object? state, uint millisecondsTimeOutInterval, bool executeOnlyOnce);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public static System.Threading.RegisteredWaitHandle UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, object state, uint millisecondsTimeOutInterval, bool executeOnlyOnce);
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * uint32 * bool -> System.Threading.RegisteredWaitHandle
[<System.CLSCompliant(false)>]
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * uint32 * bool -> System.Threading.RegisteredWaitHandle
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
static member UnsafeRegisterWaitForSingleObject : System.Threading.WaitHandle * System.Threading.WaitOrTimerCallback * obj * uint32 * bool -> System.Threading.RegisteredWaitHandle
Public Shared Function UnsafeRegisterWaitForSingleObject (waitObject As WaitHandle, callBack As WaitOrTimerCallback, state As Object, millisecondsTimeOutInterval As UInteger, executeOnlyOnce As Boolean) As RegisteredWaitHandle
매개 변수
- waitObject
- WaitHandle
WaitHandle 등록할 수 있습니다. 가 아닌 WaitHandle다른 것을 Mutex 사용합니다.
- callBack
- WaitOrTimerCallback
매개 변수가 신호를 보낼 때 waitObject 호출할 대리자입니다.
- state
- Object
대리자에게 전달되는 개체입니다.
- millisecondsTimeOutInterval
- UInt32
시간 제한(밀리초)입니다. 매개 변수가 millisecondsTimeOutInterval 0이면 함수는 개체의 상태를 테스트하고 즉시 반환합니다. -1이면 millisecondsTimeOutInterval 함수의 제한 시간 간격이 경과하지 않습니다.
- executeOnlyOnce
- Boolean
true대리자가 호출 waitObject 된 후 스레드가 더 이상 매개 변수를 false 대기하지 않음을 나타내려면 대기 작업이 완료될 때마다 타이머가 다시 설정됨을 나타냅니다.
반품
RegisteredWaitHandle 등록된 대기 작업을 취소하는 데 사용할 수 있는 개체입니다.
- 특성
예외
호출자에게 필요한 권한이 없습니다.
설명
메서드 RegisterWaitForSingleObject 와 UnsafeRegisterWaitForSingleObject 달리 호출 스택을 작업자 스레드로 전파하지 않습니다. 이렇게 하면 코드가 호출 스택을 손실하여 보안 권한을 높일 수 있습니다.
Caution
사용하면 UnsafeRegisterWaitForSingleObject 실수로 보안 구멍이 열릴 수 있습니다. 코드 액세스 보안은 스택에 있는 모든 호출자의 사용 권한에 대한 권한 검사를 기반으로 합니다. 작업을 사용하여 UnsafeRegisterWaitForSingleObject스레드 풀 스레드에서 큐에 대기하는 경우 스레드 풀 스레드의 스택에는 실제 호출자의 컨텍스트가 없습니다. 악의적인 코드가 이를 악용하여 권한 검사를 방지할 수 있습니다.
기본 Windows API는 기본 Mutex 플래그를 사용하므로 각 콜백이 별도의 스레드 풀 스레드에서 디스패치되므로 waitObjectWT_EXECUTEDEFAULT 사용하면 콜백에 대한 상호 제외가 제공되지 않습니다.
이 메서드에서 반환된 항목 사용을 RegisteredWaitHandle 마치면 해당 메서드를 RegisteredWaitHandle.Unregister 호출하여 대기 핸들에 대한 참조를 해제합니다. 를 지정 RegisteredWaitHandle.Unregister 하는 경우에도 항상 메서드를 호출 true 하는 executeOnlyOnce것이 좋습니다. 가비지 수집은 등록된 대기 핸들의 종료자에 따라 메서드를 호출 RegisteredWaitHandle.Unregister 하는 경우 보다 효율적으로 작동합니다.