共用方式為


FltRegisterFilter 函式 (fltkernel.h)

FltRegisterFilter 註冊迷你篩選驅動程式。

語法

NTSTATUS FLTAPI FltRegisterFilter(
  [in]  PDRIVER_OBJECT         Driver,
  [in]  const FLT_REGISTRATION *Registration,
  [out] PFLT_FILTER            *RetFilter
);

參數

[in] Driver

迷你篩選驅動程式之驅動程序物件的指標。 這應該是當做輸入傳遞至迷你篩選驅動程式 DriverEntry 例程的驅動程式對象指標。

[in] Registration

呼叫端配置的迷你篩選驅動程式註冊結構的指標(FLT_REGISTRATION)。

[out] RetFilter

呼叫端配置之變數的指標,可接收呼叫端的不透明篩選指標。

傳回值

FltRegisterFilter 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:

傳回碼 描述
STATUS_INSUFFICIENT_RESOURCES
FltRegisterFilter 發生集區配置失敗。 這是錯誤碼。
STATUS_INVALID_PARAMETER
下列其中一項:
  • 版本註冊 結構的成員未設定為 FLT_REGISTRATION_VERSION。
  • Registration 結構中的其中一個非 NULL 名稱提供者例程設定為無效值。 GenerateFileNameCallbackNormalizeNameComponentCallbackNormalizeNameComponentExCallback 成員 FLT_REGISTRATION 指向名稱提供者例程。
STATUS_INVALID_PARAMETER是錯誤碼。
STATUS_FLT_NOT_INITIALIZED
篩選條件嘗試註冊時,篩選管理員未初始化。 請確定篩選管理員已載入為驅動程式。 這是錯誤碼。
STATUS_OBJECT_NAME_NOT_FOUND
在登錄中找不到篩選服務機碼。

-或-

未註冊篩選實例。

言論

每個小型篩選驅動程式都必須從其 DriverEntry 例程呼叫 FltRegisterFilter,以將自己新增至已註冊迷你篩選驅動程式的全域清單,並提供篩選管理員回呼函式清單和迷你篩選驅動程式的其他資訊。

FltRegisterFilter 傳回 *RetFilter中迷你篩選驅動程式的不透明篩選指標。 此指標值會唯一識別迷你篩選驅動程式,只要載入迷你篩選驅動程式,就會維持不變。 迷你篩選驅動程式應該儲存此指標,因為它是 FltStartFilteringFltUnregisterFilter的必要參數。

呼叫 FltRegisterFilter之後,小型篩選驅動程式通常會呼叫 FltStartFiltering 開始篩選 I/O 作業。

小型篩選驅動程式只能呼叫 FltRegisterFilter 來註冊自己,而不是另一個小型篩選驅動程式。

若要取消註冊本身,小型篩選驅動程式會呼叫 FltUnregisterFilter。。

要求

要求 價值
目標平臺 普遍
標頭 fltkernel.h (包括 Fltkernel.h)
連結庫 FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另請參閱

FLT_REGISTRATION

FltStartFiltering

FltUnregisterFilter