次の方法で共有


ExAcquireRundownProtectionEx 関数 (wdm.h)

ExAcquireRundownProtectionEx ルーチンは、呼び出し元がオブジェクトに安全にアクセスできるように、共有オブジェクトのランダウン保護を取得しようとします。

構文

BOOLEAN ExAcquireRundownProtectionEx(
  [in, out] PEX_RUNDOWN_REF RunRef,
  [in]      ULONG           Count
);

パラメーター

[in, out] RunRef

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

[in] Count

オブジェクトのランダウン インスタンス数まで増分する量。 カウントは、ルーチンが TRUE を返す場合にのみインクリメントされます。 詳細については、「備考」を参照してください。

戻り値

ExAcquireRundownProtectionEx は、ルーチンが呼び出し元のランダウン保護を正常に取得した場合に TRUE を 返します。 それ以外の場合は、 FALSE を返しますFALSE の戻り値は、オブジェクトの実行が開始され、オブジェクトが無効として扱われる必要があることを示します。

注釈

共有オブジェクトに安全にアクセスするために、ドライバーは ExAcquireRundownProtectionEx を呼び出して、オブジェクトのランダウン保護を取得します。

RunRef パラメーターは、関連付けられたオブジェクトのランダウン状態を追跡するEX_RUNDOWN_REF構造体を指します。 この状態情報には、現在オブジェクトに対して有効になっているランダウン保護のインスタンスの数が含まれます。 ExAcquireRundownProtectionEx ルーチンと ExReleaseRundownProtectionEx ルーチンは、このカウントを任意の量だけインクリメントおよびデクリメントします。 ExAcquireRundownProtectionExReleaseRundownProtection の 2 つの関連ルーチンで、このカウントを 1 ずつインクリメントおよびデクリメントします。

ランダウン ブロック自体が非ページである限り、この関数は DISPATCH_LEVEL で呼び出すことができます。

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

要件

要件
サポートされている最小のクライアント Windows Server 2003 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (「解説」を参照)
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport)

こちらもご覧ください

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection

ExReleaseRundownProtectionEx