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 指定為 NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT、Revision 成員NDIS_MINIPORT_INTERRUPT_REVISION_1,並將 Size 成員設定為 NDIS_MINIPORT_INTERRUPT_REVISION_1 的 Type 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 結構。
- 如果 InterruptType 是 NDIS_CONNECT_MESSAGE_BASED,則 NDIS 會使用中斷的相關信息初始化 IO_INTERRUPT_MESSAGE_INFO 結構,並將 messageInfoTable 設定為結構的指標。 迷你埠驅動程式不得修改 結構。
- 如果 InterruptType 為 NDIS_CONNECT_LINE_BASED,MessageInfoTable 必須是 NULL。
言論
迷你埠驅動程式會呼叫 NdisMRegisterInterruptEx 函式來註冊中斷。 驅動程式會設定和初始化 NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 結構,以指定插斷特性和處理程式進入點,並將 結構傳遞至 NdisMRegisterInterruptEx。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ndis.h (包括 Ndis.h) |