Fungsi FltEnumerateVolumes (fltkernel.h)

FltEnumerateVolumes rutin menghitung semua volume dalam sistem.

Sintaks

NTSTATUS FLTAPI FltEnumerateVolumes(
  [in]  PFLT_FILTER Filter,
  [out] PFLT_VOLUME *VolumeList,
  [in]  ULONG       VolumeListSize,
  [out] PULONG      NumberVolumesReturned
);

Parameter

[in] Filter

Penunjuk filter buram untuk pemanggil. Parameter ini diperlukan dan tidak boleh NULL.

[out] VolumeList

Penunjuk ke buffer yang dialokasikan penelepon yang menerima array penunjuk volume buram. Parameter ini bersifat opsional dan dapat berupa NULL jika VolumeListSize adalah nol. Jika VolumeListSize nol pada input dan VolumeList ADALAH NULL, NumberVolumesReturned menerima jumlah volume yang ditemukan.

[in] VolumeListSize

Jumlah penunjuk filter buram yang dapat ditahan oleh buffer yang dapat ditahan oleh VolumeList . Parameter ini bersifat opsional dan bisa nol. Jika VolumeListSize nol pada input dan VolumeList ADALAH NULL, NumberVolumesReturned menerima jumlah volume yang ditemukan.

[out] NumberVolumesReturned

Penunjuk ke variabel yang dialokasikan pemanggil yang menerima jumlah penunjuk volume buram yang dikembalikan dalam array yang dituju VolumeList . Jika VolumeListSize terlalu kecil dan VolumeList bukan NULL pada input, FltEnumerateVolumes mengembalikan STATUS_BUFFER_TOO_SMALL dan mengatur NumberVolumesReturned untuk menunjuk ke jumlah volume yang ditemukan. Parameter ini diperlukan dan tidak boleh NULL.

Nilai kembali

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

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

Keterangan

Karena konten daftar volume manajer filter dapat berubah kapan saja, dua panggilan ke FltEnumerateVolumes tidak dijamin untuk mengembalikan hasil yang sama.

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

Untuk mengonversi satu atau beberapa pointer volume buram yang dikembalikan oleh parameter VolumeList menjadi informasi volume, panggil FltGetVolumeInformation.

Untuk mencantumkan informasi volume untuk semua volume yang diketahui oleh manajer filter, panggil FltEnumerateVolumeInformation.

Untuk menghitung semua driver minifilter terdaftar, panggil FltEnumerateFilters.

Untuk menghitung semua instans driver minifilter, panggil FltEnumerateInstances.

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

Persyaratan

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

Lihat juga

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateInstances

FltEnumerateVolumeInformation

FltGetVolumeInformation

FltObjectDereference