KeAcquireSpinLockAtDpcLevel 巨集 (wdm.h)
KeAcquireSpinLockAtDpcLevel 例程在 IRQL >= DISPATCH_LEVEL 上執行時,會取得微調鎖定。
語法
void KeAcquireSpinLockAtDpcLevel(
[in, out] PKSPIN_LOCK SpinLock
);
參數
[in, out] SpinLock
初始化KSPIN_LOCK微調鎖定的指標,呼叫端必須提供記憶體。 微調鎖定必須來自非分頁集區。
傳回值
沒有
言論
驅動程式呼叫 KeAcquireSpinLockAtDpcLevel,而不是 KeAcquireSpinLock,以便在已在 DISPATCH_LEVEL 或更新版本的 IRQL 上執行時,才能提高驅動程式效能。
如果驅動程式在 IRQL <= APC_LEVEL執行,它應該呼叫 KeAcquireSpinLock,讓該例程引發 IRQL。 KeAcquireSpinLockAtDpcLevel 假設呼叫端已在 IRQL >= DISPATCH_LEVEL執行,因此不需要引發。
呼叫端應儘快釋放 KeReleaseSpinLockFromDpcLevel 的微調鎖定。
如需微調鎖定的詳細資訊,請參閱 微調鎖定。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 請參閱一節。 |
DDI 合規性規則 | HwStorPortProhibitedDIS(storport), IrqlDispatch(storport), SpinLockSafe(storport) |