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) |