次の方法で共有


ExWaitForRundownProtectionRelease 関数 (wdm.h)

ExWaitForRundownProtectionRelease ルーチンは、既にランダウン保護が付与されているすべてのドライバーが共有オブジェクトへのアクセスを完了するまで待機します。

構文

void ExWaitForRundownProtectionRelease(
  [in, out] PEX_RUNDOWN_REF RunRef
);

パラメーター

[in, out] RunRef

ExInitializeRundownProtection ルーチンの前回の呼び出しによって初期化された EX_RUNDOWN_REF 構造体へのポインター。 ランダウン保護ルーチンでは、この構造を使用して、関連付けられている共有オブジェクトのランダウン状態を追跡します。 この構造体はドライバーに対して不透明です。

戻り値

何一つ

備考

このルーチンは、共有メモリ内に存在し、他のドライバーによってアクセスされるオブジェクトを所有するドライバーによって呼び出されます。 このオブジェクトを削除する前に、所有しているドライバーは、オブジェクトの未処理のアクセスが完了するまで待機するには、このルーチンを呼び出す必要があります。 ExWaitForRundownProtectionRelease 戻った後、所有ドライバーはオブジェクトを安全に削除できます。

ExWaitForRundownProtectionRelease 呼び出されると、ExAcquireRundownProtection ルーチンは、共有オブジェクトにアクセスしようとしているドライバーからのランダウン保護の要求をそれ以上許可しません。 このルーチンは、以前にランダウン保護が付与されたすべてのドライバーがオブジェクトへのアクセスを完了するまで、戻るのを待機します。 各ドライバーが完了すると、ExReleaseRundownProtection ルーチンを呼び出して、以前に取得したランダウン保護を解放します。 未処理のすべてのアクセスが完了すると、ExWaitForRundownProtectionRelease 返され、オブジェクトを安全に削除できます。

ExWaitForRundownProtectionRelease 、以前にランダウン保護が付与されていたすべてのドライバーが共有オブジェクトへのアクセスを既に完了したときに呼び出された場合、ルーチンはオブジェクトの状態を 実行に変更し、待たずに直ちに返します。

ExWaitForRundownProtectionRelease が呼び出されて共有オブジェクトを実行する場合、RunRef パラメーターは、このオブジェクトが既に実行されていることを示しますが、呼び出しは無効ですが、エラーとして扱われません。

詳細については、「Run-Down 保護」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI コンプライアンス規則 する HwStorPortProhibitedDDIs(storport), SpNoWait(storport)

関連項目

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection