Bagikan melalui


Fungsi kompres (compressapi.h)

Mengambil blok informasi dan mengompresinya.

Sintaks

BOOL Compress(
  [in]  COMPRESSOR_HANDLE CompressorHandle,
  [in]  LPCVOID           UncompressedData,
  [in]  SIZE_T            UncompressedDataSize,
  [out] PVOID             CompressedBuffer,
  [in]  SIZE_T            CompressedBufferSize,
  [out] PSIZE_T           CompressedDataSize
);

Parameter

[in] CompressorHandle

Tangani ke kompresor yang dikembalikan oleh CreateCompressor.

[in] UncompressedData

Berisi blok informasi yang akan dikompresi. Ukuran dalam byte blok yang tidak dikompresi diberikan oleh UncompressedDataSize.

[in] UncompressedDataSize

Ukuran dalam byte informasi yang tidak dikompresi.

[out] CompressedBuffer

Buffer yang menerima informasi terkompresi. Ukuran maksimum dalam byte buffer diberikan oleh CompressedBufferSize.

[in] CompressedBufferSize

Ukuran maksimum dalam byte buffer yang menerima informasi terkompresi.

[out] CompressedDataSize

Ukuran aktual dalam byte informasi terkompresi yang diterima.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol. Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Jika algoritma kompresi gagal karena beberapa alasan internal, kesalahan dari GetLastError dapat ERROR_FUNCTION_FAILED. Jika sistem tidak dapat menemukan handel algoritma kompresi, kesalahan dapat ERROR_INVALID_HANDLE. Jika buffer output terlalu kecil untuk menyimpan data terkompresi, kesalahan dapat ERROR_INSUFFICIENT_BUFFER.

Jika buffer output CompressedBuffer terlalu kecil untuk menyimpan data terkompresi, fungsi gagal dan kesalahan dari GetLastError dapat ERROR_INSUFFICIENT_BUFFER. Dalam hal ini, parameter CompressedDataSize menerima dengan ukuran yang dibutuhkan CompressedBuffer untuk menjamin keberhasilan untuk buffer input tersebut. Anda dapat mengatur CompressedBufferSize ke nol untuk menentukan ukuran buffer output yang akan dialokasikan.

Persyaratan

   
Klien minimum yang didukung Windows 8 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2012 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header compressapi.h
Pustaka Cabinet.lib
DLL Cabinet.dll

Lihat juga

Fungsi API Pemadatan