Freigeben über


PipeStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Methode

Definition

Beginnt einen asynchronen Lesevorgang.

public:
 override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback callback, object state);
[System.Security.SecurityCritical]
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback callback, object state);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
[<System.Security.SecurityCritical>]
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

buffer
Byte[]

Der Puffer, in den Daten gelesen werden sollen.

offset
Int32

Der Byteoffset im buffer, ab dem gelesen werden soll.

count
Int32

Die maximale Anzahl der zu lesenden Bytes.

callback
AsyncCallback

Die Methode, die aufgerufen wird, wenn der asynchrone Lesevorgang abgeschlossen ist.

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Leseanforderung von anderen Anforderungen unterscheidet.

Gibt zurück

Ein IAsyncResult-Objekt, das auf den asynchronen Lesevorgang verweist.

Attribute

Ausnahmen

buffer ist null.

offset ist kleiner als 0.

- oder -

count ist kleiner als 0.

count ist größer als die im buffer verfügbare Anzahl von Bytes.

Die Pipe ist geschlossen.

Die Pipe unterstützt keine Lesevorgänge.

Die Verbindung der Pipe ist getrennt, die Pipe wartet auf eine Verbindung, oder das Handle wurde nicht festgelegt.

Die Pipe wurde unterbrochen, oder es ist ein anderer E/A-Fehler aufgetreten.

Hinweise

Ü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: