共用方式為


NdisMRegisterInterruptEx 函式 (ndis.h)

NDIS 迷你埠驅動程式會呼叫 NdisMRegisterInterruptEx 函式來註冊中斷。

語法

NDIS_STATUS NdisMRegisterInterruptEx(
  [in]  NDIS_HANDLE                              MiniportAdapterHandle,
  [in]  NDIS_HANDLE                              MiniportInterruptContext,
  [in]  PNDIS_MINIPORT_INTERRUPT_CHARACTERISTICS MiniportInterruptCharacteristics,
  [out] PNDIS_HANDLE                             NdisInterruptHandle
);

參數

[in] MiniportAdapterHandle

傳遞至 NDIS 的迷你埠配接器句柄 MiniportInitializeEx 函式。

[in] MiniportInterruptContext

內容信息的區塊指標。 迷你埠驅動程式會配置此記憶體來儲存中斷的相關信息。 NDIS 會將後續呼叫中的內容資訊區塊傳遞給與中斷相關聯的其他函式。

[in] MiniportInterruptCharacteristics

的指標 NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 迷你埠驅動程式所建立的結構。 驅動程式會使用定義中斷特性的處理程序進入點和組態參數,初始化這個結構。

[out] NdisInterruptHandle

NDIS 句柄的指標。 NDIS 會將新建立之中斷物件的句柄寫入 NdisInterruptHandle 指標所指定的位址。

傳回值

NdisMRegisterInterruptEx 可以傳回下列其中一個值:

傳回碼 描述
NDIS_STATUS_SUCCESS
NDIS 初始化中斷物件,並在 NdisInterruptHandle 提供有效的插斷句柄。 NDIS 宣告硬體資源,並設定在中斷發生時呼叫的函式。
NDIS_STATUS_RESOURCES
NdisMRegisterInterruptEx 因為資源不足而失敗。
NDIS_STATUS_XXX 或 NT_STATUS_XXX
嘗試初始化插斷對象失敗,原因不如上述清單中的其他原因。

言論

如果 Miniport 驅動程式管理產生中斷的 NIC,則必須從其 MiniportInitializeEx 函式呼叫 NdisMRegisterInterruptEx

MiniportInitializeEx 必須呼叫 NdisMSetMiniportAttributes 函式,再呼叫 NdisMRegisterInterruptEx

迷你埠驅動程式必須指定下列中斷服務函式的進入點:

MiniportInterrupt

MiniportInterruptDPC

MiniportDisableInterruptEx

MiniportEnableInterruptEx

如果 NIC 支援訊息訊號中斷 (MSI),迷你埠驅動程式應該指定下列 MSI 服務函式的進入點:

MiniportMessageInterrupt

MiniportMessageInterruptDPC MiniportDisableMessageInterrupt MiniportEnableMessageInterrupt

如果驅動程式指定 MSI 的進入點,它也必須指定非 MSI 中斷服務函式的進入點。 此外,如果 NdisMRegisterInterruptEx 傳回NDIS_STATUS_SUCCESS,驅動程式必須檢查 InterruptType 成員的值 NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 結構,以判斷授與的 NDIS 中斷類型。 如果 NDIS 無法授與 MSI 支援,則會授與支援以行為基礎的中斷。

在 NIC 上啟用中斷時,驅動程式的 MiniportInterrupt(或 MiniportMessageInterrupt) 函式可以在驅動程式呼叫 NdisMRegisterInterruptEx之後隨時呼叫,即使 NdisMRegisterInterruptEx 傳回也一樣。 因此,驅動程式不應該呼叫 NdisMRegisterInterruptEx,直到它準備好處理中斷為止。

驅動程式呼叫 NdisMDeregisterInterruptEx 函式,以釋放先前使用 NdisMRegisterInterruptEx配置的資源。

要求

要求 價值
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平臺 普遍
標頭 ndis.h (包括 Ndis.h)
連結庫 Ndis.lib
IRQL PASSIVE_LEVEL
DDI 合規性規則 Init_DeRegisterInterrupt(ndis)Init_RegisterInterrupt(ndis)Irql_Interrupt_Function(ndis)NdisMDeregisterInterruptEx(ndis)

另請參閱

MiniportDisableInterruptEx

MiniportDisableMessageInterrupt

MiniportEnableInterruptEx

MiniportEnableMessageInterrupt

MiniportInitializeEx

MiniportInterrupt

MiniportInterruptDPC

MiniportMessageInterrupt

MiniportMessageInterruptDPC

NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS

NdisMDeregisterInterruptEx

NdisMSetMiniportAttributes