次の方法で共有


KeAcquireInStackQueuedSpinLockForDpc 関数 (wdm.h)

KeAcquireInStackQueuedSpinLockForDpc ルーチンは、スレッド化された DPC のキューに入ったスピン ロックを取得します。

構文

void KeAcquireInStackQueuedSpinLockForDpc(
  PKSPIN_LOCK         SpinLock,
  PKLOCK_QUEUE_HANDLE LockHandle
);

パラメーター

SpinLock

[入力、出力]キューに置かれたスピン ロックとして取得するスピン ロックへのポインター。 KeInitializeSpinLock を呼び出して、スピン ロックを既に初期化している必要があります。

LockHandle

[out]ロック キュー ハンドルを受け取る KLOCK_QUEUE_HANDLE 構造体へのポインター。 キューに入ったスピン ロックを解放するときに、この値を KeReleaseInStackQueuedSpinLockForDpc ルーチンに渡します。

戻り値

なし

解説

CustomThreadedDpc ルーチンでは、KeAcquireInStackQueuedSpinLockForDpc を使用して、キューに入ったスピン ロックを取得できます。 CustomThreadedDpc が IRQL = PASSIVE_LEVELで実行されている場合、KeAcquireInStackQueuedSpinLockForDpc は現在の IRQL をDISPATCH_LEVELに上げます。 CustomThreadedDpc が IRQL = DISPATCH_LEVELで既に実行されている場合、KeAcquireInStackQueuedSpinLockForDpc は現在の IRQL を変更しません。

キューに入ったスピン ロックの詳細については、「 キューに入ったスピン ロック」を参照してください。

KeReleaseInStackQueuedSpinLockForDpc を呼び出して、KeAcquireInStackQueuedSpinLockForDpc が取得したスピン ロックを解放します。

要件

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

こちらもご覧ください

CustomThreadedDpc

KLOCK_QUEUE_HANDLE

KeInitializeSpinLock

KeReleaseInStackQueuedSpinLockForDpc