PipeStream.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.
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
.
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.