ExAcquireSpinLockExclusiveAtDpcLevel 函数 (wdm.h)

ExAcquireSpinLockExclusiveAtDpcLevel 例程获取由已在 IRQL >= DISPATCH_LEVEL 上运行的调用方进行独占访问的 旋转锁

语法

void ExAcquireSpinLockExclusiveAtDpcLevel(
  [in, out] PEX_SPIN_LOCK SpinLock
);

参数

[in, out] SpinLock

指向要获取的旋转锁的指针。 调用方不得已拥有此旋转锁。

返回值

没有

言论

在进入此例程时,调用方必须在 IRQL >= DISPATCH_LEVEL上运行。 此例程不会更改 IRQL。

为了释放旋转锁,驱动程序调用 ExReleaseSpinLockExclusiveFromDpcLevel 例程。

旋转锁是EX_SPIN_LOCK类型的 32 位变量。 驱动程序必须为旋转锁分配存储,并将旋转锁初始化为零。 此存储必须位于非分页系统空间内存中。

调用方应在释放旋转锁之前短暂地按住旋转锁。 有关详细信息,请参阅 旋转锁简介。

递归获取旋转锁会导致死锁,不允许。

要求

要求 价值
标头 wdm.h
IRQL IRQL >= DISPATCH_LEVEL

另请参阅

ExReleaseSpinLockExclusiveFromDpcLevel