Поделиться через


BufferedStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Метод

Определение

Начинает операцию асинхронной записи. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32, CancellationToken).)

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

Параметры

buffer
Byte[]

Буфер, содержащий данные для записи в текущий поток.

offset
Int32

Отсчитываемое от нуля смещение байтов в буфере buffer, с которого начинается копирование байтов в текущий поток.

count
Int32

Максимальное число байтов для записи.

callback
AsyncCallback

Метод, вызываемый после завершения операции асинхронной записи.

state
Object

Предоставляемый пользователем объект, являющийся отличительным признаком данного конкретного запроса на асинхронную запись от других запросов.

Возвращаемое значение

Объект, который ссылается на асинхронную операцию записи, которая может все еще быть отложена.

Исключения

Длина buffer минус offset меньше count.

buffer имеет значение null.

offset или count является отрицательным значением.

Поток не поддерживает запись.

Комментарии

В платформа .NET Framework 4 и более ранних версиях для реализации асинхронных операций с файлами необходимо использовать такие методы, как BeginWrite и EndWrite . Эти методы по-прежнему доступны в платформа .NET Framework 4.5 для поддержки устаревшего кода. Однако новые асинхронные методы, такие как ReadAsync, WriteAsyncи FlushAsync, упрощают асинхронные операции с файлами.

EndWrite должен вызываться ровно один раз для каждого IAsyncResult из BeginWrite. EndWrite блокируется до завершения операции ввода-вывода.

Применяется к