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