Bagikan melalui


Fungsi FltEnumerateFilters (fltkernel.h)

Rutinitas FltEnumerateFilters menghitung semua driver minifilter terdaftar dalam sistem.

Sintaks

NTSTATUS FLTAPI FltEnumerateFilters(
  [out] PFLT_FILTER *FilterList,
  [in]  ULONG       FilterListSize,
  [out] PULONG      NumberFiltersReturned
);

Parameter

[out] FilterList

Penunjuk ke buffer yang dialokasikan penelepon yang menerima array penunjuk filter buram. Parameter ini bersifat opsional dan dapat berupa NULL jika nilai parameter FilterListSize adalah nol. Jika FilterListSize nol pada input dan FilterList adalah NULL, parameter NumberFiltersReturned menerima jumlah driver minifilter yang ditemukan.

[in] FilterListSize

Jumlah penunjuk filter buram yang dapat ditahan oleh buffer yang dapat ditahan oleh parameter FilterList . Parameter ini bersifat opsional dan bisa nol. Jika FilterListSize nol pada input dan FilterList adalah NULL, parameter NumberFiltersReturned menerima jumlah driver minifilter yang ditemukan.

[out] NumberFiltersReturned

Penunjuk ke variabel yang dialokasikan penelepon yang menerima jumlah penunjuk filter buram yang dikembalikan dalam array yang dituju parameter FilterList . Jika nilai parameter FilterListSize terlalu kecil dan FilterList bukan NULL pada input, FltEnumerateFilters mengembalikan STATUS_BUFFER_TOO_SMALL dan mengatur NumberFiltersReturned untuk menunjuk ke jumlah driver minifilter yang ditemukan. Parameter ini diperlukan dan tidak boleh NULL.

Nilai kembali

FltEnumerateFilters mengembalikan STATUS_SUCCESS atau nilai NTSTATUS yang sesuai seperti berikut ini:

Menampilkan kode Deskripsi
STATUS_BUFFER_TOO_SMALL
Buffer yang dituju parameter FilterList tidak cukup besar untuk menyimpan informasi yang diminta. Ini adalah kode kesalahan.

Keterangan

Karena filter dapat mendaftar kapan saja, dua panggilan ke FltEnumerateFilters tidak dijamin untuk mengembalikan hasil yang sama.

FltEnumerateFilters menambahkan referensi rundown ke setiap penunjuk filter buram yang dikembalikan dalam array yang dituju parameter FilterList . Ketika pointer ini tidak lagi diperlukan, pemanggil harus melepaskannya dengan memanggil FltObjectDereference pada masing-masing. Dengan demikian setiap panggilan yang berhasil ke FltEnumerateFilters harus dicocokkan dengan panggilan berikutnya ke FltObjectDereference untuk setiap penunjuk filter yang dikembalikan.

Untuk mencantumkan informasi filter untuk semua driver minifilter terdaftar, panggil FltEnumerateFilterInformation.

Untuk menghitung instans semua driver minifilter pada semua volume, panggil FltEnumerateInstances.

Untuk menghitung semua volume yang diketahui oleh Manajer Filter, panggil FltEnumerateVolumes.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header fltkernel.h (termasuk Fltkernel.h)
Pustaka FltMgr.lib
IRQL <= APC_LEVEL

Lihat juga

FltEnumerateFilterInformation

FltEnumerateInstances

FltEnumerateVolumes

FltGetFilterInformation

FltObjectDereference