Fungsi GetCompressedFileSizeA (fileapi.h)

Mengambil jumlah byte aktual penyimpanan disk yang digunakan untuk menyimpan file tertentu. Jika file terletak pada volume yang mendukung pemadatan dan file dikompresi, nilai yang diperoleh adalah ukuran terkompresi dari file yang ditentukan. Jika file terletak pada volume yang mendukung file jarang dan file adalah file jarang, nilai yang diperoleh adalah ukuran jarang dari file yang ditentukan.

Untuk melakukan operasi ini sebagai operasi yang ditransaksikan, gunakan fungsi GetCompressedFileSizeTransacted .

Sintaks

DWORD GetCompressedFileSizeA(
  [in]            LPCSTR  lpFileName,
  [out, optional] LPDWORD lpFileSizeHigh
);

Parameter

[in] lpFileName

Nama file.

Jangan tentukan nama file pada perangkat nonseeking, seperti pipa atau perangkat komunikasi, karena ukuran filenya tidak memiliki arti.

Parameter ini dapat mencakup jalur .

Secara default, nama terbatas pada MAX_PATH karakter. Untuk memperpanjang batas ini menjadi 32.767 karakter lebar, tambahkan "\\?\" ke jalur. Untuk informasi selengkapnya, lihat Menamai File, Jalur, dan Namespace.

Tip

Dimulai dengan Windows 10, Versi 1607, Anda dapat ikut serta untuk menghapus batasan MAX_PATH tanpa menambahkan awalan "\\?\". Lihat bagian "Batasan Panjang Jalur Maksimum" dari Penamaan File, Jalur, dan Namespace untuk detailnya.

[out, optional] lpFileSizeHigh

DWORD urutan tinggi dari ukuran file terkompresi. Nilai pengembalian fungsi adalah DWORD urutan rendah dari ukuran file terkompresi.

Parameter ini dapat berupa NULL jika DWORD urutan tinggi dari ukuran file terkompresi tidak diperlukan. File berukuran kurang dari 4 gigabyte tidak memerlukan DWORD urutan tinggi.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah DWORD urutan rendah dari jumlah aktual byte penyimpanan disk yang digunakan untuk menyimpan file yang ditentukan, dan jika lpFileSizeHigh bukan NULL, fungsi menempatkan DWORD urutan tinggi dari nilai aktual tersebut ke dalam DWORD yang ditujukkan oleh parameter tersebut. Ini adalah ukuran file terkompresi untuk file terkompresi, ukuran file aktual untuk file yang tidak dikompresi.

Jika fungsi gagal, dan lpFileSizeHigh adalah NULL, nilai yang dikembalikan INVALID_FILE_SIZE. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Jika nilai yang dikembalikan INVALID_FILE_SIZE dan lpFileSizeHighnon-NULL, aplikasi harus memanggil GetLastError untuk menentukan apakah fungsi telah berhasil ( nilainya NO_ERROR) atau gagal (nilai selain NO_ERROR).

Keterangan

Aplikasi dapat menentukan apakah volume dikompresi dengan memanggil GetVolumeInformation, lalu memeriksa status bendera FS_VOL_IS_COMPRESSED dalam nilai DWORD yang ditunjukkan oleh parameter lpFileSystemFlags fungsi tersebut.

Jika file tidak terletak pada volume yang mendukung kompresi atau file jarang, atau jika file tidak dikompresi atau file jarang, nilai yang diperoleh adalah ukuran file aktual, sama dengan nilai yang dikembalikan oleh panggilan ke GetFileSize.

Perilaku tautan simbolis—Jika jalur menunjuk ke tautan simbolis, fungsi mengembalikan ukuran file target.

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

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

Catatan

Header fileapi.h mendefinisikan GetCompressedFileSize sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header fileapi.h (termasuk Windows.h, WinBase.h, Fileapi.h, Windows.h, WinBase.h, Fileapi.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Kompresi dan Dekompresi File

Fungsi Manajemen File

GetCompressedFileSizeTransacted

GetFileSize

GetVolumeInformation

Tautan Simbolis