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 结构中。

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

另请参阅