BufferedStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Método

Definição

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

IAsyncResult

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 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, comoReadAsync, 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.

Aplica-se a