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

Definition

Startet einen asynchronen Lesevorgang.Begins an asynchronous read operation.

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);
[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
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.The buffer to read data into.

offset
Int32

Der Byteoffset im buffer, ab dem gelesen werden soll.The byte offset in buffer at which to begin reading.

count
Int32

Die maximale Anzahl der zu lesenden Bytes.The maximum number of bytes to read.

callback
AsyncCallback

Die Methode, die aufgerufen wird, wenn der asynchrone Lesevorgang abgeschlossen ist.The method to call when the asynchronous read operation is completed.

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das zwischen dieser bestimmten asynchronen Leseanforderung und anderen Anforderungen unterscheidet.A user-provided object that distinguishes this particular asynchronous read request from other requests.

Gibt zurück

Ein IAsyncResult-Objekt, das auf den asynchronen Lesevorgang verweist.An IAsyncResult object that references the asynchronous read.

Attribute

Ausnahmen

buffer ist nullbuffer is null.

offset ist kleiner als 0.offset is less than 0.

- oder --or- count ist kleiner als 0.count is less than 0.

count ist größer als die im buffer verfügbare Anzahl von Bytes.count is greater than the number of bytes available in buffer.

Die Pipe ist geschlossen.The pipe is closed.

Die Pipe unterstützt keine Lesevorgänge.The pipe does not support read operations.

Die Verbindung der Pipe ist getrennt, die Pipe wartet auf eine Verbindung, oder das Handle wurde nicht festgelegt.The pipe is disconnected, waiting to connect, or the handle has not been set.

Die Pipe wurde unterbrochen, oder es ist ein anderer E/A-Fehler aufgetreten.The pipe is broken or another I/O error occurred.

Hinweise

Übergeben Sie das zurückgegebene IAsyncResult Objekt an die EndRead-Methode, um zu bestimmen, wie viele Bytes gelesen wurden, und um die zum Lesen verwendeten Betriebssystemressourcen freizugeben.Pass the returned IAsyncResult object to the EndRead method to determine how many bytes were read and to release operating system resources used for reading. EndRead müssen für jeden Aufruf von BeginReadeinmal aufgerufen werden.EndRead must be called once for every call to BeginRead. Dies kann entweder im gleichen Code erfolgen, der BeginRead aufgerufen hat, oder in einem Rückruf, der an BeginReadübermittelt wird.This can be done either in the same code that called BeginRead or in a callback that is passed to BeginRead.

Verwenden Sie die CanRead-Eigenschaft, um zu bestimmen, ob das aktuelle PipeStream-Objekt Lesevorgänge unterstützt.Use the CanRead property to determine whether the current PipeStream object supports read operations.

Wenn die Pipe geschlossen ist oder ein ungültiges Argument an BeginReadübergeben wird, werden sofort die entsprechenden Ausnahmen ausgelöst.If the pipe is closed or an invalid argument is passed to BeginRead, the appropriate exceptions are raised immediately. Fehler, die bei einer asynchronen Lese Anforderung auftreten, treten in dem Thread Pool Thread auf, der die Anforderung ausführt.Errors that occur during an asynchronous read request occur on the thread pool thread that is performing the request. Die Ausnahmen werden ausgelöst, wenn der Code die EndRead-Methode aufruft.The exceptions are raised when the code calls the EndRead method.

Gilt für: