DeflateStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Inicia uma operação de leitura assíncrona. (Considere usar o ReadAsync(Byte[], Int32, Int32) método em vez disso.)
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginRead(byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Parâmetros
- bufferarray
- Byte[]
O array de bytes para ler os dados.
- offset
- Int32
O deslocamento de bytes a partir do qual começar a ler dados do fluxo.
- count
- Int32
O número máximo de bytes a ler.
- asyncCallback
- AsyncCallback
Um callback assíncrono opcional, a ser chamado quando a operação de leitura estiver concluída.
- asyncState
- Object
Um objeto fornecido pelo utilizador que distingue este pedido de leitura assíncrono particular de outros pedidos.
Devoluções
Um objeto que representa a operação de leitura assíncrona, que ainda pode estar pendente.
Exceções
O método tentou ler assíncronamente para além do fim do fluxo, ou ocorreu um erro de disco.
Um ou mais dos argumentos são inválidos.
Os métodos foram chamados após o encerramento do riacho.
A implementação atual DeflateStream não suporta a operação de leitura.
Esta chamada não pode ser concluída.
Observações
Importante
A partir do .NET 6, este método pode não ler tantos bytes quanto os solicitados. Para mais informações, consulte Leituras parciais e de zero bytes no DeflateStream, GZipStream e CryptoStream.
A partir do .NET Framework 4.5, pode realizar operações de leitura assíncronas usando o método ReadAsync. O BeginRead método ainda está disponível nas versões atuais para suportar código antigo; no entanto, pode implementar operações de I/O assíncronas mais facilmente usando os novos métodos assíncronos. Para obter mais informações, consulte E/S de arquivo assíncrono.
Passar o IAsyncResult valor de retorno ao EndRead método do fluxo para determinar quantos bytes foram lidos e libertar os recursos do sistema operativo usados para leitura. Pode fazer isto usando o mesmo código que chamou BeginRead ou num callback passado para BeginRead.
A posição atual no fluxo é atualizada quando a operação de leitura ou escrita assíncrona é emitida, não quando a operação de E/S termina.
Múltiplos pedidos assíncronos simultâneos tornam a ordem de conclusão do pedido incerta.
Use a CanRead propriedade para determinar se o objeto atual DeflateStream suporta leitura.
Se um fluxo estiver fechado ou se passar um argumento inválido, exceções são lançadas imediatamente a partir de BeginRead. Erros que ocorrem durante um pedido de leitura assíncrono, como uma falha de disco durante o pedido de E/S, ocorrem no thread pool de threads e lançam exceções ao chamar EndRead.