Bagikan melalui


Fungsi FltEnumerateInstanceInformationByFilter (fltkernel.h)

Rutinitas FltEnumerateInstanceInformationByFilter menyediakan informasi tentang instans driver minifilter tertentu.

Sintaks

NTSTATUS FLTAPI FltEnumerateInstanceInformationByFilter(
  [in]  PFLT_FILTER                Filter,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

Parameter

[in] Filter

Penunjuk filter buram untuk pemanggil.

[in] Index

Indeks berbasis nol dari instans yang informasinya diminta.

[in] InformationClass

Jenis informasi yang diminta. Parameter ini dapat memiliki salah satu nilai berikut.

Nilai Makna
InstanceBasicInformation Buffer yang ditunjukkan oleh parameter Buffer menerima struktur INSTANCE_BASIC_INFORMATION untuk instans.
InstanceFullInformation Buffer yang ditujukkan oleh parameter Buffer menerima struktur INSTANCE_FULL_INFORMATION untuk instans.
InstancePartialInformation Buffer yang ditujukkan oleh parameter Buffer menerima struktur INSTANCE_PARTIAL_INFORMATION untuk instans.
InstanceAggregateStandardInformation Buffer yang ditujukkan oleh parameter Buffer menerima struktur INSTANCE_AGGREGATE_STANDARD_INFORMATION untuk instans. Bagian LegacyFilter dari struktur tidak digunakan. Struktur ini tersedia dimulai dengan Windows Vista.

[out] Buffer

Arahkan ke buffer yang dialokasikan penelepon yang menerima informasi yang diminta. Jenis informasi yang dikembalikan dalam buffer ditentukan oleh parameter InformationClass .

[in] BufferSize

Ukuran, dalam byte, dari buffer yang dirujuk oleh parameter Buffer . Pemanggil harus mengatur parameter ini sesuai dengan nilai InformationClass yang diberikan.

[out] BytesReturned

Penunjuk ke variabel yang dialokasikan penelepon yang menerima jumlah byte yang dikembalikan dalam buffer yang dituju Buffer . Jika nilai input BufferSize terlalu kecil, FltEnumerateInstanceInformationByFilter mengembalikan STATUS_BUFFER_TOO_SMALL dan mengatur variabel ini ke jumlah byte yang diperlukan untuk menyimpan informasi yang diminta. Parameter ini diperlukan dan tidak boleh NULL.

Nilai kembali

FltEnumerateInstanceInformationByFilter mengembalikan nilai STATUS_SUCCESS atau NTSTATUS yang sesuai, seperti salah satu hal berikut ini:

Menampilkan kode Deskripsi
STATUS_BUFFER_TOO_SMALL
Buffer yang dituju parameter Buffer tidak cukup besar untuk menyimpan informasi yang diminta. Ini adalah kode kesalahan.
STATUS_FLT_DELETING_OBJECT
Instans yang cocok ditemukan, tetapi sedang dicabik-cabik. Ini adalah kode kesalahan.
STATUS_INVALID_PARAMETER
Nilai yang tidak valid ditentukan untuk parameter InformationClass . Misalnya, jika FilterAggregateStandardInformation ditentukan pada sistem operasi sebelum Windows Vista, rutinitas akan mengembalikan STATUS_INVALID_PARAMETER. Ini adalah kode kesalahan.
STATUS_NO_MORE_ENTRIES
Tidak ada lagi entri dalam daftar instans driver minifilter. Ini adalah kode peringatan.

Keterangan

Parameter Indeks hanyalah cara bagi FltEnumerateInstanceInformationByFilter untuk memilih di antara instans dalam daftar instans untuk driver minifilter yang ditentukan oleh Filter. Karena instans driver minifilter dalam daftar instans dapat berubah kapan saja, dua panggilan ke FltEnumerateInstanceInformationByFilter dengan nilai Indeks dan Filter yang sama tidak dijamin untuk mengembalikan hasil yang sama.

Untuk menghitung semua driver minifilter terdaftar, hubungi FltEnumerateFilters.

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

Untuk mendapatkan informasi filter untuk driver minifilter tertentu, panggil FltGetFilterInformation.

Untuk menghitung semua instans driver minifilter pada volume tertentu, panggil FltEnumerateInstanceInformationByVolume.

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

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateVolumes

FltGetFilterInformation

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION