LogRecordSequence.BeginWriteRestartArea Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Начинает операцию записи в область перезапуска.
Перегрузки
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Начинает асинхронную операцию записи в область перезапуска, используя пространство, которое было ранее зарезервировано в последовательности. Этот метод не может быть унаследован. |
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Начинает асинхронную операцию записи в область перезапуска, используя пространство, которое было ранее зарезервировано в последовательности. Этот метод не может быть унаследован. |
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Начинает асинхронную операцию записи в область перезапуска, используя пространство, которое было ранее зарезервировано в последовательности. Этот метод не может быть унаследован.
public:
virtual IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservationCollection, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservationCollection, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSeqNum As SequenceNumber, reservationCollection As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
Параметры
- data
- IList<ArraySegment<Byte>>
Список фрагментов массива байтов, которые будут сцеплены и добавлены в качестве записи.
- newBaseSeqNum
- SequenceNumber
Новый базовый порядковый номер. Заданный порядковый номер должен быть больше или равен текущему базовому порядковому номеру.
- reservationCollection
- ReservationCollection
Коллекция ReservationCollection, содержащая резервирование, которое следует использовать для данной области перезапуска.
- callback
- AsyncCallback
Необязательный асинхронный обратный вызов по завершении записи в области перезапуска.
- state
- Object
Предоставляемый пользователем объект, отличающий конкретный запрос на асинхронную запись в область перезапуска от других запросов.
Возвращаемое значение
Объект IAsyncResult представляет асинхронную операцию записи в область перезапуска, которая может все еще быть отложена.
Реализации
Исключения
Значение параметра newBaseSeqNum
недопустимо для этой последовательности.
-или-
Указанный порядковый номер начала регистрационного перечисления недопустим.
-или-
Невозможно добавить параметр data
, так как его размеры превышают максимальный размер записи.
-или-
Параметр reservationCollection
не был создан этой последовательностью записи.
Один или несколько параметров имеют значение null
.
Новая или существующая архивная цепочка или база активного журнала недействительна.
-или-
Значение параметра newBaseSeqNum
не лежит между основным и последним порядковыми номерами этой последовательности.
Не удалось выполнить запрос, так как возникла неожиданная ошибка ввода-вывода.
-или-
Выполнить запрос невозможно из-за ошибки устройства ввода-вывода.
Метод был вызван после удаления последовательности.
Недостаточно памяти, чтобы продолжить выполнение программы.
Доступ к заданной последовательности журнала запрещен операционной системой.
Последовательность записей заполнена.
Комментарии
Чтобы обеспечить завершение операции записи в область перезапуска и освободить соответствующие ресурсы, необходимо передать значение IAsyncResult, возвращенное этим методом, в метод EndWriteRestartArea. Если ошибка возникла при выполнении операции асинхронной записи в область перезапуска, исключение не будет создано до тех пор, пока метод EndWriteRestartArea не будет вызван со значением IAsyncResult, возвращенным данным методом.
Данные, содержащиеся в параметре data
, будут сцеплены в единый массив байтов для добавления в качестве записи. Однако не делается допущение об обратном разделении данных на фрагменты массива при чтении записи.
При успешном выполнении операции базовый порядковый номер обновляется. Все записи журнала с порядковыми номерами меньшими, чем новый базовый порядковый номер, недоступны.
Если задано ReservationCollection, записанная область перезапуска будет занимать место, ранее зарезервированное с помощью содержащегося в коллекции резервирования. Если метод завершается успешно, будет занята минимальная область резервирования, в которой поместятся данные, а эта область резервирования будет удалена из коллекции.
Если последовательность записей была удалена, или если передается неверный аргумент, исключения создаются немедленно, в пределах данной операции. Ошибки, возникшие при выполнении запроса асинхронного добавления, например ошибка диска в процессе запроса ввода-вывода, приводят к созданию исключений при вызове метода EndWriteRestartArea.
Применяется к
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Начинает асинхронную операцию записи в область перезапуска, используя пространство, которое было ранее зарезервировано в последовательности. Этот метод не может быть унаследован.
public:
virtual IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSeqNum As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
Параметры
- data
- ArraySegment<Byte>
Фрагменты массива байтов, которые будут сцеплены и добавлены в качестве записи.
- newBaseSeqNum
- SequenceNumber
Новый базовый порядковый номер. Заданный порядковый номер должен быть больше или равен текущему базовому порядковому номеру.
- reservation
- ReservationCollection
Коллекция ReservationCollection, содержащая резервирование, которое следует использовать для данной области перезапуска.
- callback
- AsyncCallback
Необязательный асинхронный обратный вызов по завершении записи в области перезапуска.
- state
- Object
Предоставляемый пользователем объект, отличающий конкретный запрос на асинхронную запись в область перезапуска от других запросов.
Возвращаемое значение
Объект IAsyncResult представляет асинхронную операцию записи в область перезапуска, которая может все еще быть отложена.
Реализации
Исключения
Значение параметра newBaseSeqNum
недопустимо для этой последовательности.
-или-
Указанный порядковый номер начала регистрационного перечисления недопустим.
-или-
Невозможно добавить параметр data
, так как его размеры превышают максимальный размер записи.
-или-
Параметр reservation
не был создан этой последовательностью записи.
Один или несколько параметров имеют значение null
.
Новая или существующая архивная цепочка или база активного журнала недействительна.
-или-
Значение параметра newBaseSeqNum
не лежит между основным и последним порядковыми номерами этой последовательности.
Не удалось выполнить запрос, так как возникла неожиданная ошибка ввода-вывода.
-или-
Выполнить запрос невозможно из-за ошибки устройства ввода-вывода.
Метод был вызван после удаления последовательности.
Недостаточно памяти, чтобы продолжить выполнение программы.
Доступ к заданной последовательности журнала запрещен операционной системой.
Последовательность записей заполнена.
Комментарии
Чтобы обеспечить завершение операции записи в область перезапуска и освободить соответствующие ресурсы, необходимо передать значение IAsyncResult, возвращенное этим методом, в метод EndWriteRestartArea. Если ошибка возникла при выполнении операции асинхронной записи в область перезапуска, исключение не будет создано до тех пор, пока метод EndWriteRestartArea не будет вызван со значением IAsyncResult, возвращенным данным методом.
Данные, содержащиеся в параметре data
, будут сцеплены в единый массив байтов для добавления в качестве записи. Однако не делается допущение об обратном разделении данных на фрагменты массива при чтении записи.
При успешном выполнении операции базовый порядковый номер обновляется. Все записи журнала с порядковыми номерами меньшими, чем новый базовый порядковый номер, недоступны.
Если задано ReservationCollection, записанная область перезапуска будет занимать место, ранее зарезервированное с помощью содержащегося в коллекции резервирования. Если метод завершается успешно, будет занята минимальная область резервирования, в которой поместятся данные, а эта область резервирования будет удалена из коллекции.
Если последовательность записей была удалена, или если передается неверный аргумент, исключения создаются немедленно, в пределах данной операции. Ошибки, возникшие при выполнении запроса асинхронного добавления, например ошибка диска в процессе запроса ввода-вывода, приводят к созданию исключений при вызове метода EndWriteRestartArea.