共用方式為


處理 MSI 中斷

NDIS 會在網路適配器 (NIC) 產生中斷時呼叫 MiniportMessageInterrupt 函式。 此函式中的 MessageId 參數會識別 MSI-X 訊息。

MiniportMessageInterrupt 處理中斷後,應該一律傳回 TRUE,因為訊息中斷是獨立的,不會共用。

迷你埠驅動程序應該在 MiniportMessageInterrupt 函式中盡可能少地執行工作。 驅動程式應將 I/O 作業延遲至 MiniportMessageInterruptDpc 函式,NDIS 會呼叫此函式,以完成中斷的延遲處理。

若要在 MiniportMessageInterrupt 返回後將額外的延遲程序調用(DPCs)排入佇列,迷你埠驅動程序應設置 MiniportMessageInterrupt 函數的 TargetProcessors 參數的位元。 若要從 MiniportMessageInterruptMiniportMessageInterruptDPC要求額外的 DPC,迷你埠驅動程式可以呼叫 NdisMQueueDpc 函式。

迷你埠驅動程式可以呼叫 NdisMQueueDpc,以便為其他處理器請求額外的 DPC。

NDIS 6.1 和更新版本保證針對相同 CPU 排程之不同訊息的 DPC 會分別排入佇列。 例如,如果迷你埠驅動程式在 CPU 1 上同時排程兩個 DPC(一個用於訊息 0 的 DPC,另一個 DPC 用於訊息 1),則兩個 DPC 會排入佇列供 CPU 1 使用(一個 DPC 包含訊息 0,另一個 DPC 包含訊息 1)。

NDIS 也保證不同 CPU 上排程之相同訊息的 DPC 會分別排入佇列。 例如,如果迷你埠驅動程式排程兩個 DPC(一個 CPU 0 上的 DPC 代表訊息 0,而 CPU 1 上的一個 DPC 則為訊息 0),則兩個不同的 DPC 會排入 CPU 0 和 CPU 1 的佇列,這兩者都是針對訊息 0。