Stream.EndRead(IAsyncResult) Stream.EndRead(IAsyncResult) Stream.EndRead(IAsyncResult) Stream.EndRead(IAsyncResult) Method

定義

保留中の非同期読み取りが完了するまで待機します。Waits for the pending asynchronous read to complete. (代わりに、ReadAsync(Byte[], Int32, Int32) の使用を検討してください。)(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

public:
 virtual int EndRead(IAsyncResult ^ asyncResult);
public virtual int EndRead (IAsyncResult asyncResult);
abstract member EndRead : IAsyncResult -> int
override this.EndRead : IAsyncResult -> int
Public Overridable Function EndRead (asyncResult As IAsyncResult) As Integer

パラメーター

asyncResult
IAsyncResult IAsyncResult IAsyncResult IAsyncResult

終了させる保留状態の非同期リクエストへの参照。The reference to the pending asynchronous request to finish.

戻り値

ストリームから読み取ったバイト数 (0 ~要求したバイト数の間の数値)。The number of bytes read from the stream, between zero (0) and the number of bytes you requested. ゼロ (0) が返されるのは、ストリームの末尾で読み取ろうとしたときだけです。それ以外の場合は、少なくとも 1 バイトが読み込み可能になるまでブロックします。Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available.

例外

保留中の読み取り操作へのハンドルは使用できません。A handle to the pending read operation is not available.

または-or-

保留中の操作は読み取りをサポートしていません。The pending operation does not support reading.

asyncResult は現在のストリームの BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) メソッドから取得されませんでした。asyncResult did not originate from a BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) method on the current stream.

ストリームが閉じているか、内部エラーが発生しました。The stream is closed or an internal error has occurred.

注釈

.NET Framework 4 およびそれ以前のバージョンで非同期 I/O 操作を実装するには、 BeginReadEndRead などのメソッドを使用する必要があります。In the .NET Framework 4 and earlier versions, you have to use methods such as BeginRead and EndRead to implement asynchronous I/O operations. これらのメソッドはでまだ使用できる、.NET Framework 4.5.NET Framework 4.5レガシ コードをサポートするためにただし、新しい非同期メソッドなどReadAsyncWriteAsyncCopyToAsyncFlushAsync、非同期 I/O 操作をより簡単に導入を支援します。These methods are still available in the .NET Framework 4.5.NET Framework 4.5 to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, CopyToAsync, and FlushAsync, help you implement asynchronous I/O operations more easily.

呼び出すEndReadをストリームから読み取られたバイト数を決定します。Call EndRead to determine how many bytes were read from the stream.

EndRead 1 回呼び出すことがすべてIAsyncResultからBeginReadします。EndRead can be called once on every IAsyncResult from BeginRead.

このメソッドは、I/O 操作が完了するまでブロックします。This method blocks until the I/O operation has completed.

適用対象

こちらもご覧ください