Zip for UWP
inflate メソッド

C1.UWP.Zip アセンブリ > C1.C1Zip.ZLib 名前空間 > ZStream クラス : inflate メソッド
出力バッファにデータをフラッシュする方法(デフォルト値は2)。
入力バッファを使い切るか、出力バッファがいっぱいになるまで、できる限り多くのデータを圧縮解除します。
シンタックス
'宣言
 
Public Function inflate( _
   ByVal flush As System.Integer _
) As System.Integer
public System.int inflate( 
   System.int flush
)

パラメータ

flush
出力バッファにデータをフラッシュする方法(デフォルト値は2)。

戻り値の型

何らかの処理が行われた場合(さらに入力が処理されたか、出力が生成された場合)は、 Z_OK。圧縮データの末尾に到達し、すべての圧縮解除出力が生成された場合は、 Z_STREAM_END。この時点でプリセット辞書が必要な場合は、 Z_NEED_DICT。入力データが破損していた場合(入力ストリームが zlib 形式に準拠していないか、チェックサムが不正な場合)は、 Z_DATA_ERROR。ストリーム構造体が矛盾していた場合(たとえば、 next_inまたは next_outが null の場合)は、 Z_STREAM_ERROR。メモリ不足の場合は、 Z_MEM_ERRORZ_FINISHが使用されているが、処理を続行できないか、出力バッファに空きがなかった場合は、 Z_BUF_ERROR
解説

inflateは、次のアクションの一方または両方を実行します。

1. next_inの位置から入力データを圧縮解除し、それに応じて next_inavail_inを更新します。(出力バッファに空きがないために)一部の入力が処理されなくても、 next_inが更新され、次回の inflate の呼び出しではこの位置から処理が再開されます。

2. next_outの位置からさらに出力を提供し、それに応じて next_outavail_outを更新します。 inflateは、入力データがなくなるか、出力バッファの空きがなくなるまで、できる限り多くの出力を提供します。

inflate を呼び出す前に、少なくとも一方のアクションを実行できるようにしておく必要があります。つまり、入力を追加したり出力を取り出し、それに応じて next_*avail_*の値を更新します。

inflateが0を返し、 avail_out== 0 の場合は、保留中の出力がある可能性があるため、出力バッファに空きを作った後で再度 inflateを呼び出す必要があります。

アプリケーションは、出力バッファがいっぱい( avail_out== 0)の場合や inflateを呼び出すたびなど、必要なときに圧縮解除出力を取り出すことができます。

強制的にフラッシュされない限り、このメソッドでは、多少の出力遅延(入力を読み取るが、出力が生成されない)が発生する場合があります。

参照

ZStream クラス
ZStream メンバ