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

指向驱动程序用于调用 CreateInterruptIWDFDevice 接口的指针。

返回值

如果操作成功,回调函数必须返回S_OK。 否则,回调应返回 Winerror.h 中定义的错误代码之一。

注解

若要注册 OnInterruptEnable 回调函数,驱动程序必须在调用 IWDFDevice::CreateInterrupt 之前将回调函数的地址置于WUDF_INTERRUPT_CONFIG结构中。

每次设备进入其工作 (D0) 状态时,框架都会调用驱动程序的 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;

若要定义名为 MyInterruptEnable 的 OnInterruptEnable 回调函数,必须先提供 SDV 和其他验证工具所需的函数声明,如下所示:

WUDF_INTERRUPT_ENABLE  MyInterruptEnable;

然后,按如下所示实现回调函数:

HRESULT
  MyInterruptEnable (
    IN IWDFInterrupt* pInterrupt,
    IN IWDFDevice*  pAssociatedDevice
    )
  {…}

要求

要求
结束支持 在 UMDF 2.0 及更高版本中不可用。
目标平台 桌面
最低 UMDF 版本 1.11
标头 wudfinterrupt.h

另请参阅