共用方式為


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 可以傳回下列其中一個值:

傳回碼 Description
NDIS_STATUS_SUCCESS
NDIS 已初始化中斷物件,並在 NdisInterruptHandle 提供有效的中斷句柄。 NDIS 宣告的硬體資源,並在發生中斷時設定它所呼叫的函式。
NDIS_STATUS_RESOURCES
NdisMRegisterInterruptEx 因為資源不足而失敗。
NDIS_STATUS_XXX 或 NT_STATUS_XXX
嘗試初始化中斷物件時失敗,原因除了上述清單中的中斷物件之外。

備註

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

MiniportInitializeEx 必須呼叫在呼叫 NdisMRegisterInterruptEx 之前,NdisMSetMiniportAttributes 函式。

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

MiniportInterrupt

MiniportInterruptDPC

MiniportDisableInterruptEx

MiniportEnableInterruptEx

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

MiniportMessageInterrupt

MiniportMessageInterruptDPC MiniportDisableMessageInterrupt MiniportEnableMessageInterrupt

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

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

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

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平台 Universal
標頭 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