DeflateStream.EndRead(IAsyncResult) Method

Definition

Waits for the pending asynchronous read to complete. (Consider using the ReadAsync(Byte[], Int32, Int32) method instead.)

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

Parameters

asyncResult
IAsyncResult

The reference to the pending asynchronous request to finish.

Returns

The number of bytes read from the stream, between 0 (zero) and the number of bytes you requested. DeflateStream returns 0 only at the end of the stream; otherwise, it blocks until at least one byte is available.

Exceptions

asyncResult is null.

asyncResult did not originate from a BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) method on the current stream.

An exception was thrown during a call to WaitOne().

The end call is invalid because asynchronous read operations for this stream are not yet complete.

-or-

The stream is null.

Remarks

Starting with .NET Framework 4.5, you can perform asynchronous read operations by using the ReadAsync method. The EndRead method is still available in current versions to support legacy code; however, you can implement asynchronous I/O operations more easily by using the new async methods. For more information, see Asynchronous File I/O.

Call this method to determine how many bytes were read from the stream. This method can be called once to return the amount of bytes read between calls to BeginRead and EndRead.

This method blocks until the I/O operation has completed.

Applies to