DeflateStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Начинает асинхронную операцию записи. (Вместо этого рекомендуется использовать WriteAsync(Byte[], Int32, Int32) метод.)
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite(byte[] array, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite(byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginWrite (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Параметры
- arraybuffer
- Byte[]
Буфер для записи данных из.
- offset
- Int32
Смещение байтов для начала записи.
- count
- Int32
Максимальное число байтов для записи.
- asyncCallback
- AsyncCallback
Необязательный асинхронный обратный вызов, который необходимо вызвать при завершении операции записи.
- asyncState
- Object
Предоставленный пользователем объект, который отличает этот конкретный асинхронный запрос на запись от других запросов.
Возвращаемое значение
Объект, представляющий асинхронную операцию записи, которая по-прежнему может быть ожидающей.
Исключения
Метод пытался выполнять асинхронную запись в конце потока или произошла ошибка диска.
Один или несколько аргументов являются недопустимыми.
Методы были вызваны после закрытия потока.
Текущая DeflateStream реализация не поддерживает операцию записи.
Невозможно выполнить операцию записи, так как поток закрыт.
Комментарии
Начиная с .NET Framework 4.5, можно выполнять асинхронные операции записи с помощью WriteAsync метода. Метод BeginWrite по-прежнему доступен в текущих версиях для поддержки устаревшего кода, однако можно реализовать асинхронные операции ввода-вывода с помощью новых асинхронных методов. Дополнительные сведения см. в разделе "Асинхронный ввод-вывод файла".
Передайте объект, IAsyncResult возвращаемый текущим методом, чтобы EndWrite убедиться, что запись завершается и освобождает ресурсы соответствующим образом. Это можно сделать с помощью того же кода, который вызывается BeginWrite или в обратном BeginWriteвызове. Если во время асинхронной операции записи возникает ошибка, исключение не будет создано до EndWrite вызова с IAsyncResult возвращаемым этим методом.
Если поток доступен для записи, запись в конце потока расширяет поток.
Текущая позиция в потоке обновляется при выполнении асинхронной операции чтения или записи, а не после завершения операции ввода-вывода. Несколько одновременных асинхронных запросов отображают неопределенный порядок завершения запроса.
CanWrite Используйте свойство, чтобы определить, поддерживает ли текущий DeflateStream объект запись.
Если поток закрыт или передается недопустимый аргумент, исключения возникают немедленно BeginWrite. Ошибки, возникающие во время асинхронного запроса на запись, такие как сбой диска во время запроса ввода-вывода, возникают в потоке пула потоков и вызывают исключения при вызове EndWrite.