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 |
---|---|
|
Buffer yang dirujuk parameter Buffer tidak cukup besar untuk menyimpan informasi yang diminta. |
|
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. |
|
Nilai yang tidak valid ditentukan untuk parameter InformationClass . |
|
Tidak ada lagi entri dalam daftar instans/filter volume. |
|
Tidak ada volume terkait yang ditemukan untuk DeviceObject. |
|
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