NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 结构 (ndis.h)

NDIS 微型端口驱动程序在NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS结构中定义其中断特征,并将结构传递给 NdisMRegisterInterruptEx 函数。

语法

typedef struct _NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                     Header;
  MINIPORT_ISR_HANDLER                   InterruptHandler;
  MINIPORT_INTERRUPT_DPC_HANDLER         InterruptDpcHandler;
  MINIPORT_DISABLE_INTERRUPT_HANDLER     DisableInterruptHandler;
  MINIPORT_ENABLE_INTERRUPT_HANDLER      EnableInterruptHandler;
  BOOLEAN                                MsiSupported;
  BOOLEAN                                MsiSyncWithAllMessages;
  MINIPORT_MSI_ISR_HANDLER               MessageInterruptHandler;
  MINIPORT_MSI_INTERRUPT_DPC_HANDLER     MessageInterruptDpcHandler;
  MINIPORT_DISABLE_MSI_INTERRUPT_HANDLER DisableMessageInterruptHandler;
  MINIPORT_ENABLE_MSI_INTERRUPT_HANDLER  EnableMessageInterruptHandler;
  NDIS_INTERRUPT_TYPE                    InterruptType;
  PIO_INTERRUPT_MESSAGE_INFO             MessageInfoTable;
} NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS, *PNDIS_MINIPORT_INTERRUPT_CHARACTERISTICS;

成员

Header

NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 结构的NDIS_OBJECT_HEADER结构。 将 Header 指定的结构的 Type 成员设置为 NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT,将 Revision 成员设置为 NDIS_MINIPORT_INTERRUPT_REVISION_1,并将 Size 成员设置为 NDIS_SIZEOF_MINIPORT_INTERRUPT_CHARACTERISTICS_REVISION_1。

InterruptHandler

与此中断关联的 MiniportInterrupt 函数的入口点。

InterruptDpcHandler

与此中断关联的 MiniportInterruptDPC 函数的入口点。

DisableInterruptHandler

的入口点 MiniportDisableInterruptEx 函数。

EnableInterruptHandler

的入口点 MiniportEnableInterruptEx 函数。

MsiSupported

如果微型端口驱动程序支持 (MSI) 服务函数的消息信号中断,请将此成员设置为 TRUE 。 微型端口驱动程序必须为 MSI 服务函数提供入口点。

将此值设置为 FALSE 表示不支持 MSI。 MSI 服务函数入口点应设置为 NULL

MsiSyncWithAllMessages

如果微型端口驱动程序必须序列化所有 MSI 服务函数,请将此成员设置为 TRUE

将此值设置为 TRUE 可能会降低中断性能。 对于处理不同消息以并发运行的多个中断服务函数而言,效率更高。

MessageInterruptHandler

的入口点与此中断关联的 MiniportMessageInterrupt 函数(如果存在)。 如果驱动程序不支持消息中断,请将此成员设置为 NULL

MessageInterruptDpcHandler

的入口点与此中断关联的 MiniportMessageInterruptDPC 函数(如果有)。 如果驱动程序不支持消息信号中断,请将此成员设置为 NULL

DisableMessageInterruptHandler

的入口点 MiniportDisableMessageInterrupt 函数(如果有)。 如果驱动程序不支持消息信号中断,请将此成员设置为 NULL

EnableMessageInterruptHandler

的入口点 MiniportEnableMessageInterrupt 函数(如果有)。 如果驱动程序不支持消息信号中断,请将此成员设置为 NULL

InterruptType

NDIS_INTERRUPT_TYPE 类型的变量。 NDIS 设置此变量以指示它授予微型端口驱动程序的中断类型。 如果驱动程序支持 MSI,则如果 NdisMRegisterInterruptEx 返回NDIS_STATUS_SUCCESS,则必须检查此值。 如果 InterruptType 设置为 NDIS_CONNECT_LINE_BASED,则 NDIS 会向驱动程序授予基于行的中断,即使驱动程序支持消息信号中断,也可能发生此中断。 如果 InterruptType 设置为 NDIS_CONNECT_MESSAGE_BASED,则 NDIS 会向驱动程序授予消息信号中断。 在这种情况下,驱动程序可以访问 MessageInfoTable 来获取中断信息。

MessageInfoTable

NDIS 提供的指向 的指针 IO_INTERRUPT_MESSAGE_INFO 结构。

  • 如果 InterruptTypeNDIS_CONNECT_MESSAGE_BASED,则 NDIS 使用有关中断的信息初始化 IO_INTERRUPT_MESSAGE_INFO 结构,并将 MessageInfoTable 设置为指向该结构的指针。 微型端口驱动程序不得修改 结构。
  • 如果 InterruptTypeNDIS_CONNECT_LINE_BASED则 MessageInfoTable 必须为 NULL。

注解

微型端口驱动程序调用 NdisMRegisterInterruptEx 函数来注册中断。 驱动程序分配并初始化 NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 结构以指定中断特征和处理程序入口点,并将该结构传递给 NdisMRegisterInterruptEx

要求

要求
最低受支持的客户端 在 NDIS 6.0 及更高版本中受支持。
标头 ndis.h (包括 Ndis.h)

另请参阅

IO_INTERRUPT_MESSAGE_INFO

MiniportDisableInterruptEx

MiniportDisableMessageInterrupt

MiniportEnableInterruptEx

MiniportEnableMessageInterrupt

MiniportInterrupt

MiniportInterruptDPC

MiniportMessageInterrupt

MiniportMessageInterruptDPC

NDIS_OBJECT_HEADER

NdisMRegisterInterruptEx