Метод ILog::AppendRecord (txlogpub.h)
Запишите новую запись в конец журнала.
Синтаксис
HRESULT AppendRecord(
[in] BLOB *rgBlob,
[in] ULONG cBlob,
[in] BOOL fForceNow,
[in, out] LSN *plsn
);
Параметры
[in] rgBlob
Указатель на массив больших двоичных объектов данных для записи.
[in] cBlob
Размер массива rgBlob в элементах.
[in] fForceNow
Указывает, следует ли принудительно отправлять данные на диск. Если задано значение TRUE, содержимое журнала для этой записи должно быть принудительно запущено на диск перед возвратом вызова. Если значение РАВНО FALSE, эта запись может быть помещена в буфер памяти для записи после успешного возврата вызова.
[in, out] plsn
Указатель на номер LSN только что добавленной записи. Если номер LSN только что добавленной записи не требуется, этот параметр может иметь значение NULL.
Возвращаемое значение
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Каждая запись журнала, записанная или прочитанная ILog , является непрозрачным большим двоичным объектом данных. В качестве удобства для вызывающих объектов AppendRecord позволяет объединить несколько больших двоичных объектов в одну запись; Поскольку многие реализации ILog копируют записи в буфер в памяти, вызывающий объект может неэффективным выделять память для объединения частей записи. Однако после добавления записи в журнал ILog не предоставляет метод для извлечения отдельных BLOB-объектов из записи. Вызывающий объект отвечает за анализ данных в записях, считываемых из журнала. См. раздел ILog::ReadRecord.
Примечания к вызывающим абонентам
Возвращаемое значение сбоя указывает, что все записи, добавленные в журнал с момента последнего успешного принудительного выполнения, не гарантированно находятся на диске. Интерфейс ILog не предоставляет метод для определения записей, которые были успешно записаны на диск. Если необходимо знать, какие записи были успешно записаны на диск, необходимо принудительно вводить журнал для каждой записи.Примечания для разработчиков
Если fForceNow имеет значение TRUE, рекомендуется очистить буферы файлов (например, с помощью функции FlushFileBuffers ) перед возвратом из этого метода.Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | txlogpub.h |