FltEnumerateFilters 函式 (fltkernel.h)
FltEnumerateFilters 例程會列舉系統中所有已註冊的迷你篩選驅動程式。
語法
NTSTATUS FLTAPI FltEnumerateFilters(
[out] PFLT_FILTER *FilterList,
[in] ULONG FilterListSize,
[out] PULONG NumberFiltersReturned
);
參數
[out] FilterList
呼叫端配置的緩衝區指標,該緩衝區會接收不透明篩選指標的陣列。 這個參數是選擇性的,如果 FilterListSize 參數的值是零,則可以是 NULL。 如果 Input 上的 FilterListSize 為零,且 FilterList 為 NULL,NumberFiltersReturned 參數會收到找到的迷你篩選驅動程式數目。
[in] FilterListSize
FilterList 參數所指向之緩衝區的不透明篩選指標數目。 這個參數是選擇性的,而且可以是零。 如果 Input 上的 FilterListSize 為零,且 FilterList 為 NULL,NumberFiltersReturned 參數會收到找到的迷你篩選驅動程式數目。
[out] NumberFiltersReturned
呼叫端配置的變數指標,接收 FilterList 參數指向之陣列中傳回的不透明篩選指標數目。 如果 FilterListSize 參數值太小,且 FilterList 在輸入時為非 NULL,FltEnumerateFilters 會傳回STATUS_BUFFER_TOO_SMALL,並將 NumberFiltersReturned 設定為指向找到的迷你篩選驅動程式數目。 這個參數是必要的,而且不能是 NULL。
傳回值
FltEnumerateFilters 會 傳回STATUS_SUCCESS或適當的 NTSTATUS 值,如下所示:
傳回碼 | Description |
---|---|
|
FilterList 參數指向的緩衝區不夠大,無法儲存要求的資訊。 這是錯誤碼。 |
備註
由於篩選條件可以隨時註冊,因此不保證會傳回相同的結果對 FltEnumerateFilters 的兩次呼叫。
FltEnumerateFilters 會在 FilterList 參數指向的陣列中傳回的每個不透明篩選指標新增取消參考。 當不再需要這些指標時,呼叫端必須在每一個指標上呼叫 FltObjectDereference 來釋放它們。 因此,每個成功呼叫 FltEnumerateFilters 都必須與每個傳回篩選指標的 FltObjectDereference 後續呼叫相符。
若要列出所有已註冊迷你篩選驅動程式的篩選資訊,請呼叫 FltEnumerateFilterInformation。
若要列舉所有磁碟區上所有迷你篩選驅動程序的實例,請呼叫 FltEnumerateInstances。
若要列舉篩選管理員已知的所有磁碟區,請呼叫 FltEnumerateVolumes。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | fltkernel.h (包含 Fltkernel.h) |
程式庫 | FltMgr.lib |
IRQL | <= APC_LEVEL |