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

offset
Int32

O deslocamento de bytes em buffer onde se deve começar a ler.

count
Int32

O número máximo de bytes a ler.

callback
AsyncCallback

O método a chamar quando a operação de leitura assíncrona está concluída.

state
Object

Um objeto fornecido pelo utilizador que distingue este pedido de leitura assíncrono particular de outros pedidos.

Devoluções

Um IAsyncResult objeto que faz referência à leitura assíncrona.

Atributos

Exceções

buffer é null.

offset é inferior a 0.

-ou-

count é inferior a 0.

count é maior do que o número de bytes disponíveis em buffer.

O tubo está fechado.

O tubo não suporta operações de leitura.

O tubo está desligado, à espera de ser ligado, ou a maçaneta não foi ajustada.

O tubo está partido ou ocorreu outro erro de E/S.

Observações

Passar o objeto devolvido IAsyncResult ao EndRead método para determinar quantos bytes foram lidos e libertar os recursos do sistema operativo usados para leitura. EndRead deve ser chamada uma vez por cada chamada para BeginRead. Isto pode ser feito no mesmo código que chamou BeginRead ou num callback que é passado para BeginRead.

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

Se o tubo for fechado ou um argumento inválido for passado para BeginRead, as exceções apropriadas são levantadas imediatamente. Erros que ocorrem durante um pedido de leitura assíncrona ocorrem no thread pool que está a executar o pedido. As exceções são levantadas quando o código chama o EndRead método.

Aplica-se a