Share via


ExReleaseFastMutex 関数 (wdm.h)

ExReleaseFastMutex ルーチンは、ExAcquireFastMutex または ExTryToAcquireFastMutex で取得された高速ミューテックスの所有権を解放します。

構文

void ExReleaseFastMutex(
  PFAST_MUTEX FastMutex
);

パラメーター

FastMutex

[入力、出力]解放する高速ミューテックスへのポインター。

戻り値

なし

解説

ExReleaseFastMutex は、指定された高速ミューテックスの所有権を解放し、呼び出し元が ExAcquireFastMutex を呼び出す前に実行されていた値に IRQL を設定します。 以前の IRQL がAPC_LEVEL未満の場合は、現在のスレッドへの APC の配信が再び有効になります。

ExAcquireFastMutexUnsafe を使用して取得された FastMutex を使用して ExReleaseFastMutex を呼び出すプログラミング エラーです。 ドライバーは、それを取得したのと同じスレッドから高速ミューテックスを解放する必要があります。 高速ミューテックスは、取得された順序とは逆の順序で解放する必要があります。

高速ミューテックスの詳細については、「高速ミュー テックス」と「保護されたミューテックス」を参照してください。

ExReleaseFastMutex の呼び出し元は、IRQL = APC_LEVELで実行されている必要があります。 ExAcquireFastMutex は既に IRQL を自動的にAPC_LEVELに設定しているため、ほとんどの場合、ExReleaseFastMutex が呼び出される前に、IRQL は既に APC_LEVEL に設定されています。 ただし、 ExAcquireFastMutex が戻った後に呼び出し元が IRQL を変更した場合、呼び出し元は ExReleaseFastMutex を呼び出す前に、IRQL を明示的に APC_LEVEL に設定する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000
Header wdm.h
IRQL APC_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport)

こちらもご覧ください

FAST_MUTEX

ExAcquireFastMutex

ExInitializeFastMutex

ExTryToAcquireFastMutex