BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beginnt einen asynchronen Lesevorgang. (Verwenden Sie stattdessen ReadAsync(Byte[], Int32, Int32, CancellationToken).)
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);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback callback, object? state);
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 die Daten gelesen werden sollen.
- offset
- Int32
Der Byteoffset im buffer
, ab dem aus dem Stream gelesene Daten geschrieben werden.
- count
- Int32
Die maximale Anzahl der zu lesenden Bytes.
- callback
- AsyncCallback
Ein optionaler asynchroner Rückruf, der nach Abschluss des Lesevorgangs aufgerufen werden soll.
- state
- Object
Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Leseanforderung von anderen Anforderungen unterscheidet.
Gibt zurück
Ein Objekt, das den asynchronen Lesevorgang darstellt, der möglicherweise noch aussteht.
Ausnahmen
buffer
ist null
.
offset
oder count
ist ein negativer Wert.
Es wurde ein asynchroner Lesevorgang über das Streamende hinaus versucht.
Die Pufferlänge minus offset
ist kleiner als count
.
Der aktuelle Stream unterstützt den Lesevorgang nicht.
Hinweise
In der .NET Framework 4 und früheren Versionen erforderlich, wie z. B. BeginRead und EndRead , asynchrone Datei-Vorgänge zu implementieren. Diese Methoden sind weiterhin im .NET Framework 4.5 verfügbar, um Legacycode zu unterstützen. Die neuen asynchronen Methoden wie ReadAsync, WriteAsyncund FlushAsynchelfen Ihnen jedoch, asynchrone Dateivorgänge einfacher zu implementieren.
EndWrite muss genau einmal aufgerufen werden, für jeden Aufruf von BeginRead. Wenn ein Lesevorgang vor dem Starten eines anderen Lesevorgangs nicht beendet wird, kann dies zu unerwünschtem Verhalten wie einem Deadlock führen.
Hinweis
Verwenden Sie die CanRead -Eigenschaft, um zu bestimmen, ob der aktuelle instance Lesevorgänge unterstützt.
EndRead muss mit dieser IAsyncResult aufgerufen werden, um herauszufinden, wie viele Bytes gelesen wurden.