C1.Xaml.Zip Assembly > C1.C1Zip.ZLib Namespace > ZStream Class : inflate Method |
'Declaration Public Function inflate( _ ByVal flush As System.Integer _ ) As System.Integer
public System.int inflate( System.int flush )
inflate は、次のアクションの一方または両方を実行します。
1. next_in の位置から入力データを圧縮解除し、それに応じて next_in と avail_in を更新します。(出力バッファに空きがないために)一部の入力が処理されなくても、next_in が更新され、次回の inflate の呼び出しではこの位置から処理が再開されます。
2. next_out の位置からさらに出力を提供し、それに応じて next_out と avail_out を更新します。inflate は、入力データがなくなるか、出力バッファの空きがなくなるまで、できる限り多くの出力を提供します。
inflate を呼び出す前に、少なくとも一方のアクションを実行できるようにしておく必要があります。つまり、入力を追加したり出力を取り出し、それに応じて next_* と avail_* の値を更新します。
inflate が0を返し、avail_out == 0 の場合は、保留中の出力がある可能性があるため、出力バッファに空きを作った後で再度 inflate を呼び出す必要があります。
アプリケーションは、出力バッファがいっぱい(avail_out == 0)の場合や inflate を呼び出すたびなど、必要なときに圧縮解除出力を取り出すことができます。
強制的にフラッシュされない限り、このメソッドでは、多少の出力遅延(入力を読み取るが、出力が生成されない)が発生する場合があります。