KeTryToAcquireSpinLockAtDpcLevel 関数 (wdm.h)

KeTryToAcquireSpinLockAtDpcLevel ルーチンは、DISPATCH_LEVELでスピン ロックの取得を試みます。

構文

BOOLEAN KeTryToAcquireSpinLockAtDpcLevel(
  [in, out] PKSPIN_LOCK SpinLock
);

パラメーター

[in, out] SpinLock

取得するスピン ロックを指定します。 スピン ロックは、 KeInitializeSpinLock によって既に初期化されている必要があります。

戻り値

KeTryToAcquireSpinLockAtDpcLevel は、スピン ロックが取得されている場合は TRUE 、スピン ロックが既に保持されていて取得できない場合は FALSE を 返します。

注釈

指定したスピン ロックがビジー状態でない場合、 KeTryToAcquireSpinLockAtDpcLevel ルーチンはスピン ロックを取得し (詳細については KeAcquireSpinLock を参照) 、TRUE を返します。 スピン ロックが既に取得されている場合、ルーチンは直ちに FALSE を返します

スピン ロックが取得された場合、呼び出し元は KeReleaseSpinLock ルーチンを使用して解放できます。

ドライバーがスピン ロックを取得できないときにブロックする場合は、代わりに KeAcquireSpinLockAtDpcLevel を使用します。

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

要件

要件
サポートされている最小のクライアント Service Pack 1 (SP1) 以降のバージョンの Windows Server 2003 で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL DISPATCH_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport), SpinLock(wdm), SpinlockRelease(wdm)

こちらもご覧ください

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KeInitializeSpinLock

KeReleaseSpinLock