[适用于 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) |