次の方法で共有


DeflateStream.EndRead(IAsyncResult) メソッド

定義

保留中の非同期読み取りが完了するまで待機します。 (代わりに、ReadAsync(Byte[], Int32, Int32) メソッドの使用を検討します)。

public:
 override int EndRead(IAsyncResult ^ asyncResult);
public override int EndRead (IAsyncResult asyncResult);
override this.EndRead : IAsyncResult -> int
Public Overrides Function EndRead (asyncResult As IAsyncResult) As Integer

パラメーター

asyncResult
IAsyncResult

終了させる保留状態の非同期リクエストへの参照。

戻り値

ストリームから読み取ったバイト数 (0 ~要求したバイト数の数値)。 DeflateStream が 0 を返すのは、ストリームの末尾で読み取ろうとしたときだけです。それ以外の場合は、少なくとも 1 バイトが読み取り可能になるまでブロックします。

例外

asyncResultnullです。

asyncResult は現在のストリームの BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) メソッドから取得されませんでした。

WaitOne() の呼び出し中に例外がスローされました。

このストリームに対する非同期の読み取り操作がまだ完了していないため、終了呼び出しは無効です。

- または -

ストリームが null です。

注釈

.NET Framework 4.5 以降では、 メソッドを使用して非同期読み取り操作をReadAsync実行できます。 このメソッドは EndRead 、レガシ コードをサポートするために現在のバージョンでも使用できますが、新しい非同期メソッドを使用すると、非同期 I/O 操作をより簡単に実装できます。 詳細については、「非同期ファイル I/O」を参照してください。

ストリームから読み取られたバイト数を確認するには、このメソッドを呼び出します。 このメソッドを 1 回呼び出して、 と EndReadの呼び出しの間に読み取られたバイト数をBeginRead返すことができます。

このメソッドは、I/O 操作が完了するまでブロックします。

適用対象