LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Начинает асинхронную операцию записи на диск, используя пространство, которое было ранее зарезервировано в последовательности. Этот метод не может быть унаследован.
public:
virtual IAsyncResult ^ BeginFlush(System::IO::Log::SequenceNumber sequenceNumber, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginFlush (System.IO.Log.SequenceNumber sequenceNumber, AsyncCallback callback, object state);
abstract member BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
override this.BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult
Параметры
- sequenceNumber
- SequenceNumber
Порядковый номер последней записи, которую требуется записать. Если этот номер SequenceNumber недопустим, необходимо записать все записи.
- callback
- AsyncCallback
Необязательный асинхронный обратный вызов по завершении операции записи на диск.
- state
- Object
Предоставляемый пользователем объект, являющийся отличительным признаком данного конкретного запроса на запись на диск от других запросов.
Возвращаемое значение
Объект IAsyncResult, представляющий асинхронную операцию очистки, которая может все еще ожидать выполнения.
Реализации
Исключения
Значение параметра sequenceNumber
недопустимо для этой последовательности.
Значение параметра sequenceNumber
не лежит между основным и последним порядковыми номерами этой последовательности.
Не удалось выполнить запрос, так как возникла неожиданная ошибка ввода-вывода.
Указанный журнал не содержит областей. Перед использованием последовательности записей необходимо создать одну или несколько областей.
Невозможно выполнить операцию, поскольку последовательность записей была открыта с доступом только для чтения.
Метод был вызван после удаления последовательности.
Недостаточно памяти, чтобы продолжить выполнение программы.
Последовательность записей заполнена.
Доступ к заданной последовательности журнала запрещен операционной системой.
Комментарии
Необходимо передать объект IAsyncResult, возвращаемый текущим методом, методу EndFlush, чтобы обеспечить завершение очистки и правильное освобождение ресурсов. Если ошибка возникает при выполнении асинхронной очистки, исключение не будет создано до тех пор, пока не будет вызван метод EndFlush с объектом IAsyncResult, возвращаемым данным методом.
Вызов этого метода гарантирует, что внесены все записи, добавленные в последовательность LogRecordSequence.
Если последовательность записей была удалена, или если передается неверный аргумент, исключения создаются немедленно, в пределах данной операции. Ошибки, возникшие при выполнении запроса асинхронной очистки, например ошибка диска в процессе запроса ввода-вывода, приводят к созданию исключений при вызове метода EndFlush.