Zip for .NET
deflate メソッド

C1.C1Zip.4.5.2 アセンブリ > C1.C1Zip.ZLib 名前空間 > ZStream クラス : deflate メソッド
0でない場合、すべての保留中の出力を出力バッファにフラッシュ。
deflate は、できるだけ多くのデータを圧縮し、入力バッファが空になるか、出力バッファがいっぱいになったときに停止します。
シンタックス
'宣言
 
Public Function deflate( _
   ByVal flush As System.Integer _
) As System.Integer
public System.int deflate( 
   System.int flush
)

パラメータ

flush
0でない場合、すべての保留中の出力を出力バッファにフラッシュ。

戻り値の型

成功した場合は Z_OK、失敗した場合はエラーコードを返します。
解説

詳細なセマンティクスは以下のとおりです。deflate は、以下の2つのアクションのいずれか、または両方を実行します。

1. next_inから開始してさらに入力を圧縮し、随時 next_inavail_inを更新します。一部の入力しか処理できない場合(出力バッファに十分な空がないため)、 next_inavail_inが更新され、処理はこの時点から deflate への次回の呼び出しを再開します。

2. next_outから開始してさらに出力を提供し、随時 next_outavail_outを更新します。flush 引数がゼロでない場合、このアクションが強制されます。フラッシュを頻繁に強制すると圧縮率が低下するため、必要な場合にのみ(インタラクティブアプリケーションで)このパラメータを設定します。flush 引数が設定されていないときでも、何らかの出力が提供されることがあります。

このメソッドは、フラッシュを強制した場合を除き、出力待ち時間(出力を生成せずに入力を読み込むこと)が生じることがあります。

deflate が avail_out== 0 で返す場合、フラッシュが完了する(deflate が非ゼロの avail_outを返す)まで、同じ値の flush 引数で、より大きい出力スペースを指定( avail_outを更新)して、この関数を再度呼び出す必要があります。

参照

ZStream クラス
ZStream メンバ