WUDF_INTERRUPT_ENABLE回调函数 (wudfinterrupt.h)
警告
UMDF 2 是 UMDF 的最新版本,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 没有将新功能添加到 UMDF 1,并且对较新版本的 Windows 10 上的 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅 UMDF入门。
驱动程序的 OnInterruptEnable 事件回调函数启用指定的硬件中断。
语法
WUDF_INTERRUPT_ENABLE WudfInterruptEnable;
HRESULT WudfInterruptEnable(
[in] IWDFInterrupt *Interrupt,
[in] IWDFDevice *AssociatedDevice
)
{...}
参数
[in] Interrupt
指向 IWDFInterrupt 接口的指针。
[in] AssociatedDevice
指向驱动程序用于调用 CreateInterrupt的 IWDFDevice 接口的指针。
返回值
如果作成功,回调函数必须返回S_OK。 否则,回调应返回 Winerror.h 中定义的错误代码之一。
言论
若要注册 OnInterruptEnable 回调函数,驱动程序必须在调用 IWDFDevice::CreateInterrupt之前将回调函数的地址置于 WUDF_INTERRUPT_CONFIG 结构中。
每次设备进入工作状态时,框架都会调用驱动程序的 OnInterruptEnable 回调函数。 此外,驱动程序可以通过调用 IWDFInterrupt::Enable,使框架调用 OnInterruptEnable 回调函数。
在调用 OnInterruptEnable 回调函数之前,框架将获取用户模式中断锁。
调用 OnInterruptEnable 回调函数后,框架将调用驱动程序的 OnD0EntryPostInterruptsEnabled 事件回调函数。
有关在 UMDF 驱动程序中处理中断的详细信息,请参阅 访问硬件和处理中断。
例子
函数类型在 Wudfinterrupt.h中声明,如下所示。
typedef
__drv_functionClass(WUDF_INTERRUPT_ENABLE)
HRESULT
WUDF_INTERRUPT_ENABLE(
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFDevice* AssociatedDevice
);
typedef WUDF_INTERRUPT_ENABLE *PFN_WUDF_INTERRUPT_ENABLE;
若要定义 OnInterruptEnable 回调函数,该函数名为 MyInterruptEnable,必须先提供 SDV 和其他验证工具所需的函数声明,如下所示:
WUDF_INTERRUPT_ENABLE MyInterruptEnable;
然后,按如下所示实现回调函数:
HRESULT
MyInterruptEnable (
IN IWDFInterrupt* pInterrupt,
IN IWDFDevice* pAssociatedDevice
)
{…}
要求
要求 | 价值 |
---|---|
终止支持 | 在 UMDF 2.0 及更高版本中不可用。 |
目标平台 | 桌面 |
最低 UMDF 版本 | 1.11 |
标头 | wudfinterrupt.h |