Compartilhar 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 ler dados.

offset
Int32

O deslocamento de bytes no buffer qual começar 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 IAsyncResult objeto que faz referência à 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íveis em buffer.

O cano está fechado.

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

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

O pipe está quebrado 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, BeginReadas 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