PipeStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
.
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 .