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.

例外

asyncResultnull です。 asyncResult is null.

保留中の読み取り操作へのハンドルは使用できません。 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.

適用対象

こちらもご覧ください