Share via


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