Partilhar via


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

Definição

Inicia uma operação de leitura assíncrona.

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[]

O buffer no qual os dados serão lidos.

offset
Int32

O deslocamento de bytes em buffer no qual será iniciada a leitura.

count
Int32

O número máximo de bytes a serem lidos.

callback
AsyncCallback

O método a ser chamado quando a operação de leitura assíncrona é concluída.

state
Object

Um objeto fornecido pelo usuário que distingue essa solicitação de leitura assíncrona específica de outras solicitações.

Retornos

Um objeto IAsyncResult que referencia a leitura assíncrona.

Atributos

Exceções

buffer é null.

offset é menor que 0.

- ou -

count é menor que 0.

count é maior que o número de bytes disponível no buffer.

O pipe está fechado.

O pipe não dá suporte a operações de leitura.

O pipe está desconectado, esperando para conectar-se ou o identificador não foi definido.

O pipe está interrompido ou ocorreu outro erro de E/S.

Comentários

Passe o objeto retornado IAsyncResult para o EndRead método para determinar quantos bytes foram lidos e liberar recursos do sistema operacional usados para leitura. EndRead deve ser chamado uma vez para cada chamada para BeginRead. Isso pode ser feito no mesmo código que chamou BeginRead ou em um retorno de chamada que é passado para BeginRead.

Use a CanRead propriedade para determinar se o objeto atual PipeStream dá suporte a operações de leitura.

Se o pipe estiver fechado ou um argumento inválido for passado para BeginRead, as exceções apropriadas serão geradas imediatamente. Erros que ocorrem durante uma solicitação de leitura assíncrona ocorrem no thread do pool de threads que está executando a solicitação. As exceções são geradas quando o código chama o EndRead método .

Aplica-se a