NdisRegisterProtocolDriver 函式 (ndis.h)
通訊協議驅動程式會呼叫 NdisRegisterProtocolDriver 函式,向 NDIS 註冊其 ProtocolXxx 函式。
語法
NDIS_STATUS NdisRegisterProtocolDriver(
[in, optional] NDIS_HANDLE ProtocolDriverContext,
[in] PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS ProtocolCharacteristics,
[out] PNDIS_HANDLE NdisProtocolHandle
);
參數
[in, optional] ProtocolDriverContext
驅動程式配置內容區域的句柄,驅動程式會維護狀態和組態資訊。
[in] ProtocolCharacteristics
的指標 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 通訊協定驅動程式使用其 ProtocolXxx 函式進入點建立和初始化的結構。
[out] NdisProtocolHandle
呼叫端提供的句柄變數指標。 NDIS 會將句柄寫入此變數,以唯一識別正在註冊的驅動程式。 驅動程式必須儲存此句柄,才能用於後續 的 NdisXxx 函數調用。
傳回值
NdisRegisterProtocolDriver 會傳回下列其中一個狀態值:
傳回碼 | Description |
---|---|
|
NdisRegisterProtocolDriver 會在註冊通訊協定驅動程式時傳回NDIS_STATUS_SUCCESS。 |
|
ProtocolCharacteristics 結構之 MajorNdisVersion 成員中指定的版本無效。 |
|
ProtocolCharacteristics 參數中結構的某些成員無效。 |
|
NdisRegisterProtocolDriver 因為資源不足而失敗。 |
|
NdisRegisterProtocolDriver 如果上述值都未套用,則會傳回NDIS_STATUS_FAILURE。 |
備註
通訊協議驅動程式會從其 DriverEntry 例程呼叫 NdisRegisterProtocolDriver 函式。 如需 DriverEntry 的詳細資訊,請參閱 NDIS 通訊協定驅動程式的 DriverEntry。
呼叫 NdisRegisterProtocolDriver 的 驅動程式必須備妥,才能立即呼叫其任何 ProtocolXxx 函式。
每個通訊協議驅動程式都會藉由設定 來導出一組 ProtocolXxx 函式 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 結構和呼叫 NdisRegisterProtocolDriver。 NDIS 會將此結構複製到 NDIS 連結庫的內部記憶體。
為了允許通訊協定驅動程式註冊選擇性服務,NDIS 會在 NdisRegisterProtocolDriver 的內容中呼叫 ProtocolSetOptions 函式。
通訊協定驅動程式呼叫 NdisDeregisterProtocolDriver 函式可釋放先前使用 NdisRegisterProtocolDriver 配置的資源。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
目標平台 | 桌面 |
標頭 | ndis.h (包括 Ndis.h) |
程式庫 | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | Irql_Protocol_Driver_Function (ndis) |