PipeStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
Objeto IAsyncResult que hace referencia a la lectura asincrónica.
- Atributos
Excepciones
buffer
es null
.
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 la lectura. EndRead se debe llamar una vez para cada llamada a BeginRead. Esto se puede hacer en el mismo código que llamó BeginRead 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 se cierra la canalización 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 generan cuando el código llama al EndRead método .