Fungsi GetVolumeInformationByHandleW (fileapi.h)

Mengambil informasi tentang sistem file dan volume yang terkait dengan file yang ditentukan.

Untuk mengambil status kompresi file atau direktori saat ini, gunakan FSCTL_GET_COMPRESSION.

Sintaks

BOOL GetVolumeInformationByHandleW(
  [in]            HANDLE  hFile,
  [out, optional] LPWSTR  lpVolumeNameBuffer,
  [in]            DWORD   nVolumeNameSize,
  [out, optional] LPDWORD lpVolumeSerialNumber,
  [out, optional] LPDWORD lpMaximumComponentLength,
  [out, optional] LPDWORD lpFileSystemFlags,
  [out, optional] LPWSTR  lpFileSystemNameBuffer,
  [in]            DWORD   nFileSystemNameSize
);

Parameter

[in] hFile

Handel ke file.

[out, optional] lpVolumeNameBuffer

Penunjuk ke buffer yang menerima nama volume tertentu. Ukuran buffer maksimum adalah MAX_PATH+1.

[in] nVolumeNameSize

Panjang buffer nama volume, dalam WCHARs. Ukuran buffer maksimum adalah MAX_PATH+1.

Parameter ini diabaikan jika buffer nama volume tidak disediakan.

[out, optional] lpVolumeSerialNumber

Pointer ke variabel yang menerima nomor seri volume.

Parameter ini bisa NULL jika nomor seri tidak diperlukan.

Fungsi ini mengembalikan nomor seri volume yang ditetapkan sistem operasi saat hard disk diformat. Untuk mendapatkan nomor seri hard disk yang ditetapkan produsen secara terprogram, gunakan Properti Instrumentasi Manajemen Windows (WMI) Win32_PhysicalMediaSerialNumber.

[out, optional] lpMaximumComponentLength

Penunjuk ke variabel yang menerima panjang maksimum, dalam WCHAR, dari komponen nama file yang didukung sistem file tertentu.

Komponen nama file adalah bagian dari nama file di antara garis miring terbelakang.

Nilai yang disimpan dalam variabel yang ditunjuk *lpMaximumComponentLength digunakan untuk menunjukkan bahwa sistem file tertentu mendukung nama panjang. Misalnya, untuk sistem file FAT yang mendukung nama panjang, fungsi menyimpan nilai 255, bukan indikator 8,3 sebelumnya. Nama panjang juga dapat didukung pada sistem yang menggunakan sistem file NTFS.

[out, optional] lpFileSystemFlags

Penunjuk ke variabel yang menerima bendera yang terkait dengan sistem file yang ditentukan.

Parameter ini bisa menjadi satu atau beberapa bendera berikut. Namun, FILE_FILE_COMPRESSION dan FILE_VOL_IS_COMPRESSED saling eksklusif.

Nilai Makna
FILE_CASE_SENSITIVE_SEARCH
0x00000001
Volume yang ditentukan mendukung nama file yang peka huruf besar/kecil.
FILE_CASE_PRESERVED_NAMES
0x00000002
Volume yang ditentukan mendukung kasus nama file yang dipertahankan ketika menempatkan nama pada disk.
FILE_UNICODE_ON_DISK
0x00000004
Volume yang ditentukan mendukung Unicode dalam nama file saat muncul di disk.
FILE_PERSISTENT_ACLS
0x00000008
Volume yang ditentukan mempertahankan dan memberlakukan daftar kontrol akses (ACL). Misalnya, sistem file NTFS mempertahankan dan memberlakukan ACL, dan sistem file FAT tidak.
FILE_FILE_COMPRESSION
0x00000010
Volume yang ditentukan mendukung kompresi berbasis file.
FILE_VOLUME_QUOTAS
0x00000020
Volume yang ditentukan mendukung kuota disk.
FILE_SUPPORTS_SPARSE_FILES
0x00000040
Volume yang ditentukan mendukung file jarang.
FILE_SUPPORTS_REPARSE_POINTS
0x00000080
Volume yang ditentukan mendukung titik penguraian ulang.
FILE_VOLUME_IS_COMPRESSED
0x00008000
Volume yang ditentukan adalah volume terkompresi, misalnya, volume DoubleSpace.
FILE_SUPPORTS_OBJECT_IDS
0x00010000
Volume yang ditentukan mendukung pengidentifikasi objek.
FILE_SUPPORTS_ENCRYPTION
0x00020000
Volume yang ditentukan mendukung Sistem File Terenkripsi (EFS). Untuk informasi selengkapnya, lihat Enkripsi File.
FILE_NAMED_STREAMS
0x00040000
Volume yang ditentukan mendukung aliran bernama.
FILE_READ_ONLY_VOLUME
0x00080000
Volume yang ditentukan bersifat baca-saja.
FILE_SEQUENTIAL_WRITE_ONCE
0x00100000
Volume yang ditentukan mendukung satu penulisan berurutan.
FILE_SUPPORTS_TRANSACTIONS
0x00200000
Volume yang ditentukan mendukung transaksi. Untuk informasi selengkapnya, lihat Tentang KTM.
FILE_SUPPORTS_HARD_LINKS
0x00400000
Volume yang ditentukan mendukung tautan keras. Untuk informasi selengkapnya, lihat Hard Link dan Persimpangan.

Windows Vista dan Windows Server 2008: Nilai ini tidak didukung.

FILE_SUPPORTS_EXTENDED_ATTRIBUTES
0x00800000
Volume yang ditentukan mendukung atribut yang diperluas. Atribut yang diperluas adalah bagian dari metadata khusus aplikasi yang dapat dikaitkan dengan file dan bukan bagian dari data file.

Windows Vista dan Windows Server 2008: Nilai ini tidak didukung.

FILE_SUPPORTS_OPEN_BY_FILE_ID
0x01000000
Sistem file mendukung pembukaan oleh FileID. Untuk informasi selengkapnya, lihat FILE_ID_BOTH_DIR_INFO.

Windows Vista dan Windows Server 2008: Nilai ini tidak didukung.

FILE_SUPPORTS_USN_JOURNAL
0x02000000
Volume yang ditentukan mendukung jurnal nomor urutan pembaruan (USN). Untuk informasi selengkapnya, lihat Mengubah Catatan Jurnal.

Windows Vista dan Windows Server 2008: Nilai ini tidak didukung.

FILE_SUPPORTS_BLOCK_REFCOUNTING
0x08000000
Volume yang ditentukan mendukung berbagi kluster logis antar file pada volume yang sama. Sistem file mengalokasikan ulang penulisan ke kluster bersama. Menunjukkan bahwa FSCTL_DUPLICATE_EXTENTS_TO_FILE adalah operasi yang didukung.

[out, optional] lpFileSystemNameBuffer

Penunjuk ke buffer yang menerima nama sistem file, misalnya, sistem file FAT atau sistem file NTFS. Ukuran buffer ditentukan oleh parameter nFileSystemNameSize .

[in] nFileSystemNameSize

Panjang buffer nama sistem file, dalam WCHARs. Ukuran buffer maksimum adalah MAX_PATH+1.

Parameter ini diabaikan jika buffer nama sistem file tidak disediakan.

Mengembalikan nilai

Jika semua informasi yang diminta diambil, nilai yang dikembalikan bukan nol.

Jika tidak semua informasi yang diminta diambil, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Di Windows 8 dan Windows Server 2012, fungsi ini didukung oleh teknologi berikut.

Teknologi Didukung
Protokol Server Message Block (SMB) 3.0 Tidak
SMB 3.0 Transparent Failover (TFO) Tidak
SMB 3.0 dengan Scale-out File Shares (SO) Tidak
Sistem File Volume Bersama Kluster (CsvFS) Ya
Sistem File Tangguh (ReFS) Ya

SMB tidak mendukung fungsi manajemen volume.

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header fileapi.h (sertakan Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Tentang KTM

Enkripsi File

GetCompressedFileSize

GetFileAttributes

GetVolumeInformation

SetErrorMode

SetVolumeLabel

Fungsi Manajemen Volume