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 блокируется до завершения операции ввода-вывода.