WUDF_INTERRUPT_CONFIG 结构 (wudfinterrupt.h)

[警告: UMDF 2 是最新版本的 UMDF,并取代 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 不会向 UMDF 1 添加任何新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅使用 UMDF 入门。]

WUDF_INTERRUPT_CONFIG结构包含设备中断的配置信息。

语法

typedef struct _WUDF_INTERRUPT_CONFIG {
  ULONG                           Size;
  WDF_TRI_STATE                   ShareVector;
  BOOLEAN                         AutomaticSerialization;
  PFN_WUDF_INTERRUPT_ISR          OnInterruptIsr;
  PFN_WUDF_INTERRUPT_ENABLE       OnInterruptEnable;
  PFN_WUDF_INTERRUPT_DISABLE      OnInterruptDisable;
  PFN_WUDF_INTERRUPT_WORKITEM     OnInterruptWorkItem;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated;
} WUDF_INTERRUPT_CONFIG, *PWUDF_INTERRUPT_CONFIG;

成员

Size

此结构的大小(以字节为单位)。

ShareVector

WDF_TRI_STATE类型的值。 如果此值为 WdfTrue,则可以共享中断向量。 如果值为 WdfFalse,则无法共享中断向量。 如果值为 WdfDefault 且中断是级别触发的,则即插即用管理器使用总线驱动程序的值。 如果值为 WdfDefault 且中断不是级别触发的,则无法共享中断向量。

AutomaticSerialization

如果为 TRUE,则表示框架会将中断对象的 OnInterruptWorkItem 回调函数的执行与使用框架回调 同步 功能的其他回调函数同步同步。 有关更多信息,请参见备注。

OnInterruptIsr

指向驱动程序的 OnInterruptIsr 回调函数的指针,或 NULL。

OnInterruptEnable

指向驱动程序的 OnInterruptEnable 回调函数的指针,或 NULL。

OnInterruptDisable

指向驱动程序的 OnInterruptDisable 回调函数的指针,或 NULL。

OnInterruptWorkItem

指向驱动程序的 OnInterruptWorkItem 回调函数的指针,或 NULL。

InterruptRaw

指向 CM_PARTIAL_RESOURCE_DESCRIPTOR 结构的指针,该结构描述系统分配给中断 的原始资源 。 仅在 OnPrepareHardware 回调中创建中断时才使用此成员。

InterruptTranslated

指向 CM_PARTIAL_RESOURCE_DESCRIPTOR 结构的指针,该结构描述系统分配给中断的 已转换资源 。 仅在 OnPrepareHardware 回调中创建中断时才使用此成员。

注解

WUDF_INTERRUPT_CONFIG 结构用作 IWDFDevice3::CreateInterrupt 的输入。

若要初始化 WUDF_INTERRUPT_CONFIG 结构,驱动程序应首先调用 WUDF_INTERRUPT_CONFIG_INIT ,然后填充 WUDF_INTERRUPT_CONFIG_INIT 未初始化的结构成员。

在将 AutomaticSerialization 设置为 TRUE 之前,驱动程序必须调用 IWDFDeviceInitialize::SetLockingConstraint ,并将 LockType 参数设置为 WdfDeviceLevel

驱动程序应包含 Wudfwdm.h,其中包含 CM_PARTIAL_RESOURCE_DESCRIPTOR 的定义。

UMDF 支持所有支持框架的操作系统上 (MSI) 边缘触发的基于行的中断和消息信号中断。 由于不共享这些类型的中断资源,因此使用这些资源的驱动程序应将此结构的 ShareVector 成员设置为 WdfFalse 或 WdfUseDefault。 如果驱动程序指定了无效 的 ShareVector 值,则驱动程序无法启动。

要求

要求
最低 UMDF 版本 1.11
标头 wudfinterrupt.h

另请参阅

IWDFDevice3::CreateInterrupt

IWDFDeviceInitialize::SetLockingConstraint

WUDF_INTERRUPT_CONFIG_INIT