Condividi tramite


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

Definizione

Inizia un'operazione di lettura asincrona.

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

Parametri

buffer
Byte[]

Buffer in cui leggere i dati.

offset
Int32

Offset dei byte in buffer da cui iniziare la lettura.

count
Int32

Numero massimo di byte da leggere.

callback
AsyncCallback

Metodo da chiamare quando l'operazione di lettura asincrona viene completata.

state
Object

Oggetto fornito dall'utente che distingue questa specifica richiesta di lettura asincrona da altre richieste.

Restituisce

Oggetto IAsyncResult che fa riferimento alla lettura asincrona.

Attributi

Eccezioni

buffer è null.

offset è minore di 0.

-oppure-

count è minore di 0.

count è maggiore del numero di byte disponibili in buffer.

La pipe è chiusa.

La pipe non supporta operazioni di lettura.

Pipe disconnessa, in attesa di connessione oppure handle non impostato.

Pipe danneggiata oppure errore di I/O.

Commenti

Passare l'oggetto restituito IAsyncResult al EndRead metodo per determinare il numero di byte letti e per rilasciare le risorse del sistema operativo usate per la lettura. EndRead deve essere chiamato una volta per ogni chiamata a BeginRead. Questa operazione può essere eseguita nello stesso codice che ha chiamato BeginRead o in un callback passato a BeginRead.

Utilizzare la CanRead proprietà per determinare se l'oggetto corrente PipeStream supporta le operazioni di lettura.

Se la pipe è chiusa o viene passato un argomento non valido a BeginRead, le eccezioni appropriate vengono generate immediatamente. Gli errori che si verificano durante una richiesta di lettura asincrona si verificano nel thread del pool di thread che esegue la richiesta. Le eccezioni vengono generate quando il codice chiama il EndRead metodo .

Si applica a