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 設定為結構的指標。 迷你埠驅動程式不得修改 結構。
- 如果 InterruptType是NDIS_CONNECT_LINE_BASED,MessageInfoTable 必須是 NULL。
備註
迷你埠驅動程式會呼叫 NdisMRegisterInterruptEx 函 式來註冊中斷。 驅動程式會配置並初始化 NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 結構,以指定插斷特性和處理程式進入點,並將結構傳遞至 NdisMRegisterInterruptEx。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ndis.h (包含 Ndis.h) |