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 von Bytes, die gelesen wurden. Der Rückgabewert 0 (null) gibt das Ende des Streams an (d. h., die Pipe wurde geschlossen).

Attribute

Ausnahmen

asyncResult ist null.

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

Der Stream ist geschlossen, oder ein interner Fehler ist aufgetreten.

Hinweise

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

Übergeben Sie das zurückgegebene IAsyncResult Objekt an die EndRead -Methode, um zu bestimmen, wie viele Bytes gelesen wurden, und zum Freigeben von Betriebssystemressourcen, die zum Lesen verwendet wurden. EndRead muss einmal für jeden Aufruf von BeginReadaufgerufen werden. Dies kann entweder im gleichen Code erfolgen, der aufgerufen hat BeginRead , oder in einem Rückruf, der an BeginReadü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 an BeginReadübergeben wird, 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: