PSDBUS_ACKNOWLEDGE_INT_ROUTINE回调函数 (ntddsd.h)
PSDBUS_ACKNOWLEDGE_INT_ROUTINE原型声明安全数字 (SD) 设备驱动程序必须调用的例程,以向总线驱动程序确认它已完成处理中断。
语法
PSDBUS_ACKNOWLEDGE_INT_ROUTINE PsdbusAcknowledgeIntRoutine;
NTSTATUS PsdbusAcknowledgeIntRoutine(
[in] PVOID Context
)
{...}
参数
[in] Context
包含 SdBusOpenInterface 例程在 SDBUS_INTERFACE_STANDARD 结构的 Context 成员中返回的接口上下文。
返回值
如果操作成功,则返回STATUS_UNSUCCESSFUL;如果操作失败,则返回相应的错误消息。
注解
当 SD 设备断言中断时,总线驱动程序将禁用设备断言的中断,以允许设备驱动程序在 IRQL <=DISPATCH_LEVEL 执行 I/O。 当设备驱动程序的回调例程(相当于中断服务例程)完成清除中断时,它应确认已完成中断处理,以便总线驱动程序可以重新启用禁用的中断。
传统上,驱动程序只需从中断服务例程 (ISR) 返回相应的值来确认中断。 当驱动程序依赖此方法时,它们被限制为按接收中断的顺序确认中断。 另一方面,SD 卡驱动程序不受限制,无法按接收顺序确认中断。 通常,SD 卡的驱动程序可能会向总线驱动程序报告多个中断, (在确认其中任何中断之前看到PSDBUS_CALLBACK_ROUTINE) 。 在正常操作条件下,SD 卡驱动程序会延迟确认中断,直到设备上的中断状态已清除。
调用方在确认已完成处理中断时,必须在 IRQL <= DISPATCH_LEVEL 运行。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | ntddsd.h (包括 Ntddsd.h) |
IRQL | <=DISPATCH_LEVEL (请参阅备注部分。) |