NdisFRegisterFilterDriver 函式 (ndis.h)

篩選驅動程式會呼叫 NdisFRegisterFilterDriver 函式,以向 NDIS 註冊其 FilterXxx 函式。

語法

NDIS_STATUS NdisFRegisterFilterDriver(
  [in]  PDRIVER_OBJECT                      DriverObject,
  [in]  NDIS_HANDLE                         FilterDriverContext,
        PNDIS_FILTER_DRIVER_CHARACTERISTICS FilterDriverCharacteristics,
  [out] PNDIS_HANDLE                        NdisFilterDriverHandle
);

參數

[in] DriverObject

篩選驅動程式在 Argument1 參數的 DriverEntry 例程中收到的不透明驅動程式物件的指標。 (如需詳細資訊,請參閱 NDIS 篩選驅動程式的 DriverEntry.)

[in] FilterDriverContext

驅動程式配置內容區域的句柄,驅動程式會維護狀態和組態資訊。

FilterDriverCharacteristics

的指標 NDIS_FILTER_DRIVER_CHARACTERISTICS 篩選驅動程式建立並初始化其 FilterXxx 函式進入點的結構。

[out] NdisFilterDriverHandle

句柄變數的指標。 如果呼叫 NdisFRegisterFilterDriver 成功,NDIS 會以篩選驅動程式句柄填滿此變數。 篩選驅動程式會儲存此句柄,稍後將此句柄傳遞至 NDIS 函式,例如 NdisFDeregisterFilterDriver,該函式需要篩選驅動程式句柄做為輸入參數。

傳回值

NdisFRegisterFilterDriver 會傳回下列其中一個狀態值:
傳回碼 Description
NDIS_STATUS_SUCCESS
如果 NdisFRegisterFilterDriver 已註冊篩選驅動程式,則會傳回NDIS_STATUS_SUCCESS。
NDIS_STATUS_BAD_VERSION
FilterCharacteristics 結構之 MajorNdisVersion 成員中指定的版本無效。
NDIS_STATUS_BAD_CHARACTERISTICS
至少在 中指定其中一個成員 NDIS_FILTER_DRIVER_CHARACTERISTICS 無效。
NDIS_STATUS_INVALID_PARAMETER
驅動程式傳遞至的輸入參數至少一個 NdisFRegisterFilterDriver 無效。
NDIS_STATUS_RESOURCES
NdisFRegisterFilterDriver 因為資源不足而失敗。
NDIS_STATUS_FAILURE
NdisFRegisterFilterDriver 如果上述值都未套用,則會傳回NDIS_STATUS_FAILURE。

備註

篩選驅動程式會呼叫 NdisFRegisterFilterDriver 函式來自 其 DriverEntry 例程。 如需 DriverEntry 的詳細資訊,請參閱 NDIS 篩選驅動程式的 DriverEntry

呼叫 NdisFRegisterFilterDriver 的驅動程序必須備妥,才能立即呼叫其任何 FilterXxx 函式。 如需詳細資訊,請參閱 初始化篩選驅動程式

每個篩選驅動程式都會藉由設定 來導出一組 FilterXxx 函式 NDIS_FILTER_DRIVER_CHARACTERISTICS 結構和呼叫 NdisFRegisterFilterDriver。 NDIS 會將此結構複製到 NDIS 連結庫的內部記憶體。

若要允許篩選驅動程式註冊選擇性服務,NDIS 會在 內容中呼叫 FilterSetOptions 函式 NdisFRegisterFilterDriver

註冊之後,篩選驅動程式稍後可以呼叫 NdisSetOptionalHandlers 函式,以變更選擇性 FilterXxx 函式的進入點。

篩選驅動程式呼叫 NdisFDeregisterFilterDriver 函式,以釋放先前配置的資源 NdisFRegisterFilterDriver

規格需求

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

另請參閱

NDIS 篩選驅動程式的 DriverEntry

FilterAttach

初始化篩選驅動程式

NDIS_FILTER_DRIVER_CHARACTERISTICS

NdisFDeregisterFilterDriver

NdisSetOptionalHandlers