Fungsi FltEnumerateInstanceInformationByDeviceObject (fltkernel.h)

Rutinitas FltEnumerateInstanceInformationByDeviceObject menyediakan informasi tentang instans driver minifilter dan driver filter warisan yang melekat pada volume yang terkait dengan objek perangkat tertentu.

Sintaks

NTSTATUS FLTAPI FltEnumerateInstanceInformationByDeviceObject(
  [in]  PDEVICE_OBJECT             DeviceObject,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

Parameter

[in] DeviceObject

Objek perangkat untuk objek atau volume file terkait.

[in] Index

Indeks berbasis nol dari instans driver minifilter atau driver filter warisan yang informasinya diminta.

[in] InformationClass

Jenis informasi yang akan dikembalikan untuk instans driver minifilter atau driver filter warisan. Parameter ini dapat memiliki salah satu nilai berikut.

Nilai Makna
InstanceBasicInformation Buffer yang ditujukkan oleh parameter Buffer menerima struktur INSTANCE_BASIC_INFORMATION untuk instans minifilter. Driver filter warisan diabaikan.
InstanceFullInformation Buffer yang ditujukkan oleh parameter Buffer menerima struktur INSTANCE_FULL_INFORMATION untuk instans minifilter. Driver filter warisan diabaikan.
InstancePartialInformation Buffer yang ditujukkan oleh parameter Buffer menerima struktur INSTANCE_PARTIAL_INFORMATION untuk instans minifilter. Driver filter warisan diabaikan.
InstanceAggregateStandardInformation Buffer yang ditujukkan oleh parameter Buffer menerima struktur INSTANCE_AGGREGATE_STANDARD_INFORMATION untuk instans driver minifilter atau driver filter warisan.

[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 parameter Buffer . Pemanggil harus mengatur parameter ini sesuai dengan nilai InformationClass yang diberikan.

[out] BytesReturned

Penunjuk ke variabel yang dialokasikan pemanggil yang menerima jumlah byte yang dikembalikan dalam buffer yang dituju Buffer . Jika nilai input BufferSize terlalu kecil, FltEnumerateInstanceInformationByDeviceObject 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

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

Menampilkan kode Deskripsi
STATUS_BUFFER_TOO_SMALL
Buffer yang dirujuk parameter Buffer tidak cukup besar untuk menyimpan informasi yang diminta.
STATUS_FLT_DELETING_OBJECT
Instans minifilter yang cocok ditemukan, tetapi sedang dirobohkan. Perhatikan bahwa nilai pengembalian ini tidak berlaku untuk driver filter warisan karena driver filter lama tidak dapat dibongkar.
STATUS_INVALID_PARAMETER
Nilai yang tidak valid ditentukan untuk parameter InformationClass .
STATUS_NO_MORE_ENTRIES
Tidak ada lagi entri dalam daftar instans/filter volume.
STATUS_FLT_VOLUME_NOT_FOUND
Tidak ada volume terkait yang ditemukan untuk DeviceObject.
STATUS_FLT_INTERNAL_ERROR
DeviceObject bukan objek perangkat volume yang valid.

-atau-

Volume yang terkait dengan DeviceObject terdaftar tetapi tidak memiliki instans filter yang terpasang.

Keterangan

Menggunakan parameter Indeks hanyalah cara bagi FltEnumerateInstanceInformationByDeviceObject untuk memilih di antara instans driver minifilter dan driver filter warisan dalam daftar instans/filter untuk volume yang terkait dengan DeviceObject. Karena instans driver minifilter dalam daftar instans/filter dapat berubah kapan saja, dua panggilan ke FltEnumerateInstanceInformationByDeviceObject dengan nilai Indeks dan DeviceObject yang sama tidak dijamin mengembalikan hasil yang sama.

Rutinitas ini akan mengembalikan informasi driver filter lama dan informasi instans driver minifilter ketika nilai parameter InformationClass adalah InstanceAggregateStandardInformation.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 8.
Target Platform Universal
Header fltkernel.h (termasuk Fltkernel.h)
Pustaka FltMgr.lib
IRQL <= APC_LEVEL

Lihat juga

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltEnumerateInstanceInformationByVolumeName