Freigeben über


DeflateStream.EndRead(IAsyncResult) Methode

Definition

Wartet, bis der ausstehende asynchrone Lesevorgang abgeschlossen ist. (Verwenden Sie stattdessen die ReadAsync(Byte[], Int32, Int32)-Methode.)

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

Parameter

asyncResult
IAsyncResult

Der Verweis auf die ausstehende asynchrone Anforderung, die beendet werden soll.

Gibt zurück

Die Anzahl der aus dem Stream gelesenen Bytes. Diese Anzahl kann zwischen 0 und der Anzahl der angeforderten Bytes liegen. DeflateStream gibt null (0) nur am Ende des Streams zurück, andernfalls wird er blockiert, bis mindestens ein Byte verfügbar ist.

Ausnahmen

asyncResult ist null.

asyncResult basiert nicht auf einer BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) -Methode im aktuellen Stream.

Während eines Aufrufs von WaitOne() wurde eine Ausnahme ausgelöst.

Der Abschlussaufruf ist ungültig, da für diesen Stream asynchrone Lesevorgänge noch nicht beendet wurden.

- oder -

Der Stream ist null.

Hinweise

Ab .NET Framework 4.5 können Sie mit der ReadAsync -Methode asynchrone Lesevorgänge ausführen. Die EndRead Methode ist in den aktuellen Versionen weiterhin verfügbar, um Legacycode zu unterstützen. Sie können jedoch mithilfe der neuen asynchronen Methoden einfacher asynchrone E/A-Vorgänge implementieren. Weitere Informationen finden Sie unter Asynchrone Datei-E/A.

Rufen Sie diese Methode auf, um zu bestimmen, wie viele Bytes aus dem Stream gelesen wurden. Diese Methode kann einmal aufgerufen werden, um die Menge an Bytes zurückzugeben, die zwischen Aufrufen von BeginRead und EndReadgelesen werden.

Diese Methode blockiert, bis die E/A-Operation abgeschlossen ist.

Gilt für: