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

Definição

Inicia uma operação de escrita assíncrona. (Considere usar WriteAsync(Byte[], Int32, Int32, CancellationToken) em vez disso.)

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);
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 para escrever no fluxo atual.

offset
Int32

O deslocamento de bytes baseado em zero em buffer que se deve começar a copiar bytes para o fluxo atual.

count
Int32

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

callback
AsyncCallback

O método a ser chamado quando a operação de escrita assíncrona for concluída.

state
Object

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

Devoluções

Um objeto que faz referência à escrita assíncrona, que ainda pode estar pendente.

Exceções

buffer comprimento menos offset é menor que count.

buffer é null.

offset ou count é negativo.

O stream não suporta escrita.

Observações

No .NET Framework 4 e versões anteriores, é necessário usar métodos como BeginWrite e EndWrite para implementar operações de ficheiros assíncronas. Estes métodos ainda estão disponíveis no .NET Framework 4.5 para suportar código legado; no entanto, os novos métodos assíncronos, como ReadAsync, WriteAsync e FlushAsync, ajudam a implementar operações de ficheiros assíncronas mais facilmente.

EndWrite deve ser chamado exatamente uma vez em cada IAsyncResult a partir de BeginWrite. EndWrite irá bloquear até que a operação de E/S esteja concluída.

Aplica-se a