Freigeben über


PipeStream.EndRead(IAsyncResult) Methode

Definition

Beendet eine ausstehende asynchrone Leseanforderung.

public:
 override int EndRead(IAsyncResult ^ asyncResult);
public override int EndRead(IAsyncResult asyncResult);
[System.Security.SecurityCritical]
public override int EndRead(IAsyncResult asyncResult);
override this.EndRead : IAsyncResult -> int
[<System.Security.SecurityCritical>]
override this.EndRead : IAsyncResult -> int
Public Overrides Function EndRead (asyncResult As IAsyncResult) As Integer

Parameter

asyncResult
IAsyncResult

Der Verweis auf die ausstehende asynchrone Anforderung.

Gibt zurück

Die Anzahl der gelesenen Bytes. Ein Rückgabewert von 0 gibt das Ende des Datenstroms an (die Rohrleitung wurde geschlossen).

Attribute

Ausnahmen

asyncResult ist null.

asyncResult stammt nicht aus einer BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Methode für den aktuellen Datenstrom.

Der Datenstrom ist geschlossen, oder es ist ein interner Fehler aufgetreten.

Hinweise

Diese Methode gibt die Anzahl der Bytes zurück, die in das Bytearray gelesen werden, das durch den vorherigen Aufruf von BeginRead.

Übergeben Sie das zurückgegebene IAsyncResult Objekt an die EndRead Methode, um zu bestimmen, wie viele Bytes gelesen wurden, und um Betriebssystemressourcen freizugeben, die zum Lesen verwendet werden. EndReadmuss einmal für jeden Anruf aufgerufen werden.BeginRead Dies kann entweder im gleichen Code erfolgen, der aufgerufen BeginRead wird, oder in einem Rückruf, der BeginReadan die Übergeben wird.

Verwenden Sie die CanRead Eigenschaft, um zu bestimmen, ob das aktuelle PipeStream Objekt Lesevorgänge unterstützt.

Wenn die Pipe geschlossen oder ein ungültiges Argument übergeben BeginReadwird, werden die entsprechenden Ausnahmen sofort ausgelöst. Fehler, die während einer asynchronen Leseanforderung auftreten, treten im Threadpoolthread auf, der die Anforderung ausführt. Die Ausnahmen werden ausgelöst, wenn der Code die EndRead Methode aufruft.

Gilt für: