BufferedStream.BeginWrite(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 gravação assíncrona. (Considere o uso de WriteAsync(Byte[], Int32, Int32, CancellationToken) em seu lugar.)
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback callback, object state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback callback, object? state);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parâmetros
- buffer
- Byte[]
O buffer que contém dados a serem gravados no fluxo atual.
- offset
- Int32
O deslocamento de bytes baseado em zero em buffer
no qual será iniciada a cópia de bytes no fluxo atual.
- count
- Int32
O número máximo de bytes a serem gravados.
- callback
- AsyncCallback
O método a ser chamado quando a operação de gravação assíncrona for concluída.
- state
- Object
Um objeto fornecido pelo usuário que distingue essa solicitação de gravação assíncrona específica de outras solicitações.
Retornos
Um objeto que faz referência à gravação assíncrona, que ainda pode estar pendente.
Exceções
O tamanho de buffer
menos offset
é menor que count
.
buffer
é null
.
offset
ou count
é negativo.
Não há suporte para gravação no fluxo.
Comentários
No .NET Framework 4 e versões anteriores, você precisa usar métodos como BeginWrite e EndWrite para implementar operações de arquivo assíncronas. Esses métodos ainda estão disponíveis no .NET Framework 4.5 para dar suporte ao código herdado; no entanto, os novos métodos assíncronos, como ReadAsync, WriteAsynce FlushAsync, ajudam você a implementar operações de arquivo assíncronas com mais facilidade.
EndWrite deve ser chamado exatamente uma vez em cada IAsyncResult de BeginWrite. EndWrite bloqueará até que a operação de E/S seja concluída.