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