WdfInterruptReleaseLock 函数 (wdfinterrupt.h)
[适用于 KMDF 和 UMDF]
WdfInterruptReleaseLock 方法结束在设备的 DIRQL 上执行的代码序列,同时持有中断对象的旋转锁。
对于被动级别中断对象, 方法结束在持有中断对象的被动锁的同时在被动级别执行的代码序列。
语法
void WdfInterruptReleaseLock(
[in] WDFINTERRUPT Interrupt
);
参数
[in] Interrupt
框架中断对象的句柄。
注解
如果驱动程序提供无效的对象句柄,则会发生 bug 检查。
WdfInterruptReleaseLock 方法释放指定的中断对象的自旋锁或等待锁,并将处理器的 IRQL 返回到在名为 WdfInterruptAcquireLock 的驱动程序之前设置的级别。
在框架调用驱动程序的 EvtInterruptEnable 回调函数之前或框架调用驱动程序的 EvtInterruptDisable 回调函数之后,驱动程序无法调用 WdfInterruptReleaseLock。
有关 WdfInterruptReleaseLock 方法的详细信息,请参阅 同步中断代码。
有关在基于框架的驱动程序中处理中断的详细信息,请参阅 处理硬件中断。
必须在 由 WdfInterruptAcquireLock 设置的 DIRQL 中调用此方法。
对于被动级别中断,驱动程序必须在 IRQL = PASSIVE_LEVEL 调用 WdfInterruptReleaseLock 。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
标头 | wdfinterrupt.h (包括 Wdf.h) |
IRQL | 请参见“备注”部分。 |
DDI 符合性规则 | DriverCreate (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) 、 WdfInterruptLock (kmdf) 、 WdfInterruptLockRelease (kmdf) |