Fungsi GetCompressedFileSizeTransactedA (winbase.h)

[Microsoft sangat menyarankan pengembang menggunakan cara alternatif untuk mencapai kebutuhan aplikasi Anda. Banyak skenario yang dikembangkan TxF dapat dicapai melalui teknik yang lebih sederhana dan lebih tersedia. Selain itu, TxF mungkin tidak tersedia di versi Microsoft Windows yang akan datang. Untuk informasi lebih lanjut, dan alternatif TxF, silakan lihat Alternatif untuk menggunakan Transactional NTFS.]

Mengambil jumlah byte aktual penyimpanan disk yang digunakan untuk menyimpan file tertentu sebagai operasi yang ditransaksikan. 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.

Sintaks

DWORD GetCompressedFileSizeTransactedA(
  [in]            LPCSTR  lpFileName,
  [out, optional] LPDWORD lpFileSizeHigh,
  [in]            HANDLE  hTransaction
);

Parameter

[in] lpFileName

Nama file.

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

File harus berada di komputer lokal; jika tidak, fungsi gagal dan kode kesalahan terakhir diatur ke ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE.

[out, optional] lpFileSizeHigh

Penunjuk ke variabel yang menerima 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.

[in] hTransaction

Handel ke transaksi. Handel ini dikembalikan oleh fungsi CreateTransaction .

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.

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 Tidak
SMB 3.0 Transparent Failover (TFO) Tidak
SMB 3.0 dengan Scale-out File Shares (SO) Tidak
Sistem File Volume Bersama Kluster (CsvFS) Tidak
Sistem File Tangguh (ReFS) Tidak
 

SMB 3.0 tidak mendukung TxF.

Catatan

Header winbase.h mendefinisikan GetCompressedFileSizeTransacted 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 Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Kompresi dan Dekompresi File

Fungsi Manajemen File

GetFileSize

GetVolumeInformation

Tautan Simbolis

Manajemen Transaksi