次の方法で共有


DeflateStream.CopyToAsync(Stream, Int32, CancellationToken) メソッド

定義

指定のバッファー サイズを使用して、現在の Deflate ストリームからバイトを非同期に読み取り、別のストリームに書き込みます。

public:
 override System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, int bufferSize, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
override this.CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function CopyToAsync (destination As Stream, bufferSize As Integer, cancellationToken As CancellationToken) As Task

パラメーター

destination
Stream

現在の Deflate ストリームの内容のコピー先のストリーム。

bufferSize
Int32

バッファーのサイズ (バイト数)。 これは、0 より大きい値である必要があります。 既定のサイズは 81920 です。

cancellationToken
CancellationToken

キャンセル要求を監視するためのトークン。 既定値は None です。

戻り値

非同期のコピー操作を表すタスク。

例外

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

注釈

CopyToAsyncメソッドを使用すると、メイン スレッドをブロックすることなく、リソースを大量に消費する I/O 操作を実行できます。 このパフォーマンスの考慮事項は、時間のかかるストリーム操作によって UI スレッドがブロックされ、アプリが動作していないかのように表示されるデスクトップ アプリでは特に重要です。 非同期メソッドは、Visual Basic および C# の および await キーワードと組み合わせてasync使用されます。

操作が完了する前に取り消された場合、返されるタスクには プロパティの値がTaskStatus.CanceledTask.Status含まれます。

コピーは、現在の Deflate ストリーム内の現在の位置から開始されます。

このメソッドは、メソッドの同期的な例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクの待機時にスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって CopyTo(Stream, Int32)スローされる例外に関するページを参照してください。

適用対象