Fungsi FltGetVolumeFromName (fltkernel.h)

Rutinitas FltGetVolumeFromName mengembalikan pointer buram untuk volume yang namanya cocok dengan nilai parameter VolumeName .

Sintaks

NTSTATUS FLTAPI FltGetVolumeFromName(
  [in]  PFLT_FILTER      Filter,
  [in]  PCUNICODE_STRING VolumeName,
  [out] PFLT_VOLUME      *RetVolume
);

Parameter

[in] Filter

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

[in] VolumeName

Penunjuk ke struktur UNICODE_STRING yang berisi nama volume (misalnya, "\Device\HarddiskVolume1", "\DosDevices\D:", "\?? \D:", atau "D:"). Parameter ini diperlukan dan tidak boleh NULL.

[out] RetVolume

Penunjuk ke variabel yang dialokasikan penelepon yang menerima pointer buram untuk volume. Parameter ini diperlukan dan tidak boleh NULL.

Nilai kembali

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

Menampilkan kode Deskripsi
STATUS_ACCESS_DENIED Penelepon tidak memiliki akses FILE_READ_DATA ke volume. Ini adalah kode kesalahan.
STATUS_FLT_DELETING_OBJECT Volume sedang dicabik-cabik. Ini adalah kode kesalahan.
STATUS_INVALID_PARAMETER Nilai yang tidak valid ditentukan untuk parameter VolumeName . Ini adalah kode kesalahan.
STATUS_FLT_VOLUME_NOT_FOUND Tidak ditemukan volume yang cocok. Ini adalah kode kesalahan.

Keterangan

FltGetVolumeFromName mencari daftar volume global Manajer Filter untuk volume yang namanya cocok dengan VolumeName. Penelepon harus memiliki akses FILE_READ_DATA ke volume. Untuk menemukan struktur volume, FltGetVolumeFromName harus terlebih dahulu membuka volume.

FltGetVolumeFromName menambahkan referensi rundown ke pointer volume buram yang dikembalikan dalam parameter RetVolume . Ketika pointer ini tidak lagi diperlukan, pemanggil harus melepaskannya dengan memanggil FltObjectDereference. Dengan demikian setiap panggilan yang berhasil ke FltGetVolumeFromName harus dicocokkan dengan panggilan berikutnya ke FltObjectDereference.

Untuk mendapatkan nama volume untuk volume tertentu, panggil FltGetVolumeName.

Untuk mendapatkan nama GUID volume untuk volume tertentu, panggil FltGetVolumeGuidName.

Persyaratan

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

Lihat juga

FltGetFilterFromName

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

FltObjectDereference

UNICODE_STRING