Bagikan melalui


Fungsi FltGetVolumeProperties (fltkernel.h)

Rutinitas FltGetVolumeProperties mengembalikan informasi properti volume untuk volume yang diberikan.

Sintaks

NTSTATUS FLTAPI FltGetVolumeProperties(
  [in]  PFLT_VOLUME            Volume,
  [out] PFLT_VOLUME_PROPERTIES VolumeProperties,
        ULONG                  VolumePropertiesLength,
  [out] PULONG                 LengthReturned
);

Parameter

[in] Volume

Penunjuk buram untuk volume. Parameter ini diperlukan dan tidak boleh NULL.

[out] VolumeProperties

Penunjuk ke buffer yang dialokasikan penelepon yang menerima informasi properti volume yang diminta. Jika Panjang adalah nol pada input, parameter ini diabaikan. Jika tidak, parameter ini diperlukan dan tidak boleh NULL.

VolumePropertiesLength

Ukuran, dalam byte, dari buffer yang diacu oleh parameter VolumeProperties . Parameter ini bersifat opsional dan bisa nol. Jika nol, LengthReturned menerima ukuran, dalam byte, dari buffer yang diperlukan untuk menahan properti volume. Jika parameter ini bukan nol, setidaknya harus nilai sizeof(FLT_VOLUME_PROPERTIES).

[out] LengthReturned

Penunjuk ke variabel yang dialokasikan penelepon yang menerima ukuran, dalam byte, dari informasi yang dikembalikan dalam VolumeProperties. Jika FltGetVolumeProperties mengembalikan STATUS_BUFFER_TOO_SMALL, atau jika Panjang nol pada input, parameter ini menerima ukuran, dalam byte, dari buffer yang diperlukan untuk menahan properti volume. Parameter ini diperlukan dan tidak boleh NULL.

Nilai kembali

FltGetVolumeProperties mengembalikan STATUS_SUCCESS atau nilai NTSTATUS yang sesuai seperti salah satu dari berikut ini:

Menampilkan kode Deskripsi
STATUS_BUFFER_OVERFLOW
Buffer yang ditunjuk parameter VolumeProperties cukup besar untuk menahan bagian tetap dari struktur FLT_VOLUME_PROPERTIES tetapi bukan anggota FileSystemDriverName, FileSystemDeviceName, atau RealDeviceName . Dalam hal ini, hanya bagian tetap dari informasi volume yang dikembalikan dalam buffer yang diarahkan oleh parameter VolumeProperties . Parameter LengthReturned menerima panjang aktual, dalam byte, data yang dikembalikan. Ini adalah kode peringatan.
STATUS_BUFFER_TOO_SMALL
Buffer yang ditunjuk parameter VolumeProperties tidak cukup besar untuk menyimpan informasi properti volume. Parameter LengthReturned menerima ukuran buffer yang diperlukan. Dalam hal ini, tidak ada informasi volume yang dikembalikan. Ini adalah kode kesalahan.

Keterangan

FltGetVolumeProperties hanya mengembalikan informasi yang dapat dikueri dengan aman selama proses pemasangan tanpa risiko kebuntuan sistem. Oleh karena itu, driver minifilter biasanya memanggil rutinitas ini dari fungsi panggilan balik pasca-pemasangan atau rutinitas InstanceSetupCallback (PFLT_INSTANCE_SETUP_CALLBACK) untuk menentukan apakah akan melampirkan ke volume tertentu.

Persyaratan

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

Lihat juga

FLT_VOLUME_PROPERTIES

PFLT_INSTANCE_SETUP_CALLBACK