次の方法で共有


ExWaitForRundownProtectionReleaseCacheAware 関数 (wdm.h)

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

構文

void ExWaitForRundownProtectionReleaseCacheAware(
  [in, out] PEX_RUNDOWN_REF_CACHE_AWARE RunRef
);

パラメーター

[in, out] RunRef

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

戻り値

何一つ

備考

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

ExWaitForRundownProtectionReleaseCacheAware 呼び出されると、ExAcquireRundownProtectionCacheAware ルーチンは、共有オブジェクトにアクセスしようとしているドライバーからのキャッシュ対応のランダウン保護に対するそれ以上の要求を許可しません。

このルーチンは、以前にキャッシュ対応のランダウン保護が付与されていたすべてのドライバーがオブジェクトへのアクセスを完了するまで戻るのを待機します。 各ドライバーが完了すると、ExReleaseRundownProtectionCacheAware ルーチンを呼び出して、以前に取得したキャッシュ対応のランダウン保護を解放します。 未処理のすべてのアクセスが完了すると、ExWaitForRundownProtectionReleaseCacheAware 戻り、オブジェクトを安全に削除できます。

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

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

詳細については、「キャッシュ対応のランダウン保護 を参照してください。

必要条件

要件 価値
サポートされる最小サーバー Windows Server 2003 Service Pack 1
ヘッダー wdm.h (Wdm.h を含む)
DDI コンプライアンス規則 する HwStorPortProhibitedDDIs(storport), SpNoWait(storport)

関連項目

ExAcquireRundownProtectionCacheAware

ExAcquireRundownProtectionCacheAwareEx

ExAllocateCacheAwareRundownProtection

ExFreeCacheAwareRundownProtection

ExInitializeRundownProtectionCacheAware

ExReInitializeRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAwareEx

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheAware