ExAcquireFastMutexUnsafe 関数 (wdm.h)
ExAcquireFastMutexUnsafe ルーチンは、呼び出し元スレッドの指定された高速ミューテックスを取得します。
構文
void ExAcquireFastMutexUnsafe(
PFAST_MUTEX FastMutex
);
パラメーター
FastMutex
[入力、出力]呼び出し元がストレージを提供する FAST_MUTEX) 構造体へのポインター。 呼び出し元は、 ExInitializeFastMutex ルーチンの呼び出しによってこの構造体を以前に初期化しました
戻り値
なし
解説
ExAcquireFastMutexUnsafe は、指定された高速ミューテックスをすぐに取得できない場合、呼び出し元を待機状態にします。 それ以外の場合、呼び出し元にはミューテックスの所有権と、呼び出し元がミューテックスを解放するまでミューテックスが保護するリソースへの排他的アクセスが与えられます。
ExAcquireFastMutexUnsafe の呼び出しによって取得される高速ミューテックスは、ExReleaseFastMutexUnsafe ルーチンの呼び出しによって解放する必要があります。
ExAcquireFastMutex ルーチンと ExAcquireFastMutexUnsafe ルーチンは、ミューテックスが使用可能になるまで呼び出し元のスレッドをブロックします。 ExTryToAcquireFastMutex ルーチンは、別のスレッドが既にミューテックスを取得している場合、戻り値 FALSE で直ちにを返します。 ExAcquireFastMutex と ExTryToAcquireFastMutex の両方で、高速ミューテックスを取得する前に IRQL をAPC_LEVELに上げます。 ドライバーは ExAcquireFastMutexUnsafe を使用する必要があります。これは、次のいずれかが当てはまる場合にのみ、IRQL を発生させません。
スレッドは既に APC_LEVEL で実行されています。
スレッドは、 KeEnterCriticalRegion または FsRtlEnterFileSystem ルーチンの呼び出しによって以前に入力された重要な領域内のミューテックスを取得します。
高速ミューテックスの詳細については、次のトピックを参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 |
Header | wdm.h |
IRQL | APC_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport) |