Bagikan melalui


Fungsi FltOpenVolume (fltkernel.h)

Rutinitas FltOpenVolume mengembalikan handel dan penunjuk objek file untuk volume sistem file tempat instans driver minifilter tertentu dilampirkan.

Sintaks

NTSTATUS FLTAPI FltOpenVolume(
  [in]  PFLT_INSTANCE Instance,
  [out] PHANDLE       VolumeHandle,
  [out] PFILE_OBJECT  *VolumeFileObject
);

Parameter

[in] Instance

Penunjuk instans buram untuk instans. Instans ini harus dilampirkan ke volume lokal.

[out] VolumeHandle

Menangani volume sistem file.

[out] VolumeFileObject

Penunjuk ke variabel yang dialokasikan penelepon yang menerima penunjuk objek file untuk direktori akar volume. Parameter ini bersifat opsional dan dapat berupa NULL.

Nilai kembali

FltOpenVolume mengembalikan nilai STATUS_SUCCESS atau NTSTATUS yang sesuai seperti berikut:

Menampilkan kode Deskripsi
STATUS_FLT_DELETING_OBJECT
Instans atau volume sedang dirundung. Ini adalah kode kesalahan.
STATUS_INVALID_PARAMETER
Instans dilampirkan ke volume jaringan. Ini adalah kode kesalahan.

Keterangan

Ketika handel yang dikembalikan dalam parameter VolumeHandle tidak lagi diperlukan, pemanggil harus merilisnya dengan memanggil FltClose. Dengan demikian setiap panggilan yang berhasil ke FltOpenVolume harus dicocokkan dengan panggilan berikutnya ke FltClose.

Jika penunjuk objek file dikembalikan dalam parameter VolumeFileObject , pemanggil harus merilisnya ketika tidak lagi diperlukan dengan memanggil ObDereferenceObject.

Instans yang ditentukan oleh parameter Instans harus dilampirkan ke volume lokal. Jika dilampirkan ke volume jaringan, FltOpenVolume mengembalikan STATUS_INVALID_PARAMETER.

Untuk mendapatkan pointer ke objek perangkat untuk volume tertentu, panggil FltGetDeviceObject.

Untuk mendapatkan informasi terperinci tentang volume tempat instans tertentu dilampirkan, panggil FltQueryVolumeInformation.

CATATAN: Jangan sebut rutinitas ini dengan nilai IRP tingkat atas non-NULL, karena ini dapat menyebabkan kebuntuan sistem. Untuk menentukan apakah utas TopLevelIrp diatur panggilan IoGetTopLevelIrp.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Microsoft Windows 2000 Update Rollup 1 untuk SP4, Windows XP SP3, Windows Server 2003 SP1, dan versi yang lebih baru dari sistem operasi Windows.
Target Platform Universal
Header fltkernel.h (termasuk Fltkernel.h)
Pustaka FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Lihat juga

FltClose

FltGetDeviceObject

FltGetFilterFromInstance

FltObjectDereference

FltQueryVolumeInformation

ObDereferenceObject