共用方式為


NdisIfRegisterProvider 函式 (ndis.h)

NdisIfRegisterProvider 函式會註冊 NDIS 網路介面提供者。

語法

NDIS_STATUS NdisIfRegisterProvider(
  [in] PNDIS_IF_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
  [in] NDIS_HANDLE                       IfProviderContext,
       PNDIS_HANDLE                      pNdisIfProviderHandle
);

參數

[in] ProviderCharacteristics

所提供呼叫端的指標 NDIS_IF_PROVIDER_CHARACTERISTICS 結構。 此結構會定義提供者的特性,包括其提供者回呼函式的進入點。

[in] IfProviderContext

這個網路介面提供者之呼叫端提供之內容區域的句柄。 如果沒有內容區域,請將此參數設定為 NULL

pNdisIfProviderHandle

呼叫端提供的句柄變數指標。 如果註冊作業成功,NDIS 會將句柄寫入識別網路介面提供者的這個變數。 介面提供者應該保留此句柄,以供後續需要介面提供者句柄的呼叫使用。

傳回值

NdisIfRegisterProvider 會傳回下列其中一個狀態值:

傳回碼 Description
NDIS_STATUS_SUCCESS
作業已成功完成。
NDIS_STATUS_RESOURCES
作業失敗,因為資源不足。
NDIS_STATUS_INVALID_PARAMETER
NdisIfRegisterProvider 無法註冊提供者,因為 NDIS_IF_PROVIDER_CHARACTERISTICSProviderCharacteristics 參數的結構包含無效的成員數據。
NDIS_STATUS_NOT_SUPPORTED
NdisIfRegisterProvider 無法註冊提供者,因為 NDIS_IF_PROVIDER_CHARACTERISTICS 中的 Header 成員指定不支持的結構版本。

備註

NDIS 驅動程式會在初始化期間呼叫 NdisIfRegisterProvider 函 式一次,以註冊為 NDIS 介面提供者。 例如,驅動程式可以從其 DriverEntry 例程呼叫 NdisIfRegisterProvider。 介面提供者是一種軟體元件,可管理網路介面以支援MIB ( RFC 2863) 。

為了處理介面提供者 OID 要求,介面提供者會在 中提供回呼函式的進入點 NDIS_IF_PROVIDER_CHARACTERISTICSNdisIfRegisterProvider的 ProviderCharacteristics 參數結構。

NDIS 介面提供者會呼叫 NdisIfRegisterInterface 函式來註冊網路介面。 提供者可以註冊多個介面。

如果 NdisIfRegisterProvider 成功,它會在 pNdisProviderHandle 參數指向的位置傳回句柄。 介面提供者應該保留此句柄,以供後續需要介面提供者句柄的呼叫使用。 例如,驅動程式必須在驅動程式卸除之前呼叫 NdisIfDeregisterProvider

不再是介面提供者的元件可以隨時呼叫 NdisIfDeregisterProvider 函 式,以釋放驅動程式呼叫 NdisIfRegisterProvider 時所配置的介面提供者資源。

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平台 桌面
標頭 ndis.h (包含 Ndis.h)
程式庫 Ndis.lib
IRQL PASSIVE_LEVEL
DDI 合規性規則 Irql_Interfaces_Function (ndis)

另請參閱

DriverEntry

NDIS_IF_PROVIDER_CHARACTERISTICS

NdisIfDeregisterProvider

NdisIfRegisterInterface