ExAcquireSpinLockSharedAtDpcLevel 関数 (wdm.h)

ExAcquireSpinLockSharedAtDpcLevel ルーチンは、IRQL >= DISPATCH_LEVELで既に実行されている呼び出し元による共有アクセスのスピン ロックを取得します。

構文

void ExAcquireSpinLockSharedAtDpcLevel(
  PEX_SPIN_LOCK SpinLock
);

パラメーター

SpinLock

[入力、出力]共有アクセス用に取得するスピン ロックへのポインター。 呼び出し元は、このスピン ロックをまだ所有していない必要があります。

戻り値

なし

解説

このルーチンに入る場合、呼び出し元は IRQL >= DISPATCH_LEVELで実行されている必要があります。 このルーチンは IRQL を変更しません。

スピン ロックを解放するために、ドライバーは ExReleaseSpinLockSharedFromDpcLevel ルーチンを 呼び出します。

スピン ロックは、EX_SPIN_LOCK型の 32 ビット変数です。 ドライバーは、スピン ロックの記憶域を割り当て、スピン ロックをゼロに初期化する必要があります。 このストレージは、非ページ システム空間メモリに配置する必要があります。

呼び出し元は、スピン ロックを解放する前に、短時間だけ保持する必要があります。 詳細については、「 スピン ロックの概要」を参照してください。

スピン ロックを再帰的に取得するとデッドロックが発生し、許可されません。

要件

要件
サポートされている最小のクライアント Windows Vista SP1
Header wdm.h
IRQL IRQL >= DISPATCH_LEVEL

こちらもご覧ください

ExReleaseSpinLockSharedFromDpcLevel