PipeStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Método

Definición

Comienza una operación de lectura asincrónica.

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

Parámetros

buffer
Byte[]

Búfer en el que se leen los datos.

offset
Int32

Desplazamiento de bytes en la buffer donde va a comenzar la lectura.

count
Int32

Número máximo de bytes que se pueden leer.

callback
AsyncCallback

Método al que se va a llamar cuando finalice la lectura asincrónica.

state
Object

Objeto proporcionado por el usuario que distingue esta solicitud de lectura asincrónica de otras.

Devoluciones

IAsyncResult

Objeto IAsyncResult que hace referencia a la lectura asincrónica.

Atributos

Excepciones

buffer es null.

offset es menor que 0.

O bien count es menor que 0.

count es mayor que el número de bytes disponible en buffer.

La canalización está cerrada.

La canalización no admite operaciones de lectura.

La canalización está desconectada, a la espera de conectarse, o bien, no se ha establecido el identificador.

La canalización se ha roto o se ha producido otro error de E/S.

Comentarios

Pase el objeto devuelto IAsyncResult al EndRead método para determinar cuántos bytes se leyeron y liberar los recursos del sistema operativo usados para leer. EndRead se debe llamar una vez para cada llamada a BeginRead. Esto se puede hacer en el mismo código que llamó BeginRead a o en una devolución de llamada que se pasa a BeginRead.

Utilice la CanRead propiedad para determinar si el objeto actual PipeStream admite operaciones de lectura.

Si la canalización está cerrada o se pasa un argumento no válido a BeginRead, las excepciones adecuadas se generan inmediatamente. Los errores que se producen durante una solicitud de lectura asincrónica se producen en el subproceso del grupo de subprocesos que realiza la solicitud. Las excepciones se producen cuando el código llama al EndRead método .

Se aplica a