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 。
有关旋转锁的详细信息,请参阅旋转锁。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Server 2003 中提供 Service Pack 1 (SP1) 及更高版本的 Windows。 |
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) 、 SpinLock (wdm) 、 SpinlockRelease (wdm) |