GZipStream::EndRead Method (IAsyncResult^)


Waits for the pending asynchronous read to complete. (Consider using the the Stream::ReadAsync method instead; see the Remarks section.)

Namespace:   System.IO.Compression
Assembly:  System (in System.dll)

virtual int EndRead(
	IAsyncResult^ asyncResult
) override


Type: System::IAsyncResult^

The reference to the pending asynchronous request to finish.

Return Value

Type: System::Int32

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

Exception Condition

asyncResult is null.


asyncResult did not originate from a BeginRead method on the current stream.


The end operation cannot be performed because the stream is closed.

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

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.

The following code example shows how to use the GZipStream class to compress and decompress a file.

No code example is currently available or this language may not be supported.

.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Return to top