Поделиться через


Функция ClfsReadLogRecord (wdm.h)

Программа ClfsReadLogRecord считывает целевую запись в потоке CLFS и возвращает контекст чтения, который вызывающий объект может использовать для чтения записей выше или после него в потоке.

Синтаксис

CLFSUSER_API NTSTATUS ClfsReadLogRecord(
  [in]      PVOID             pvMarshalContext,
  [in, out] PCLFS_LSN         plsnFirst,
  [in]      CLFS_CONTEXT_MODE peContextMode,
  [out]     PVOID             *ppvReadBuffer,
  [out]     PULONG            pcbReadBuffer,
  [out]     PCLFS_RECORD_TYPE peRecordType,
  [out]     PCLFS_LSN         plsnUndoNext,
  [out]     PCLFS_LSN         plsnPrevious,
  [out]     PVOID             *ppvReadContext
);

Параметры

[in] pvMarshalContext

Указатель на непрозрачный контекст, представляющий область маршаллинга. Вызывающий объект ранее получил этот указатель путем вызова ClfsCreateMarshallingArea.

[in, out] plsnFirst

Указатель на структуру CLFS_LSN, которая предоставляет LSN целевой записи в журнале.

[in] peContextMode

Значение из перечисления CLFS_CONTEXT_MODE, указывающего начальный режим (ClfsContextUndoNext, ClfsContextPrevious или ClfsContextForward) контекста чтения, возвращенного в ppvReadContext.

[out] ppvReadBuffer

Указатель на переменную, которая получает указатель на буфер данных целевой записи.

[out] pcbReadBuffer

Указатель на переменную типа ULONG, которая получает размер в байтах буфера, на который указывает *ppvReadBuffer. Это длина буфера данных целевой записи.

[out] peRecordType

Указатель на переменную типа CLFS_RECORD_TYPE, которая получает одно из следующих значений.

Ценность Значение
ClfsDataRecord Целевая запись — это запись данных.
ClfsRestartRecord Целевая запись — это запись перезапуска.

[out] plsnUndoNext

Указатель на структуру CLFS_LSN, которая получает номер LSN отмены для целевой записи.

[out] plsnPrevious

Указатель на структуру CLFS_LSN, которая получает предыдущую LSN целевой записи.

[out] ppvReadContext

Указатель на переменную, которая получает указатель на непрозрачный контекст чтения. Клиент неоднократно передает этот контекст в ClfsReadNextLogRecord для чтения оставшихся записей последовательности. После чтения всех записей в последовательности клиент вызывает ClfsTerminateReadLog, чтобы освободить контекст чтения.

Возвращаемое значение

ClfsReadLogRecord возвращает STATUS_SUCCESS в случае успешного выполнения; в противном случае возвращается один из кодов ошибок, определенных в Ntstatus.h.

Замечания

Чтобы избежать утечки памяти, необходимо вызвать ClfsTerminateReadLog.

Описание концепций и терминологии CLFS см. в common Log File System.

Сведения о чтении записей из потоков CLFS см. в чтении записей данных из потока CLFS и чтении записей перезапуска изпотока CLFS.

Контексты чтения не являются потокобезопасными. Клиенты отвечают за сериализацию доступа к контекстам чтения.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows Server 2003 R2, Windows Vista и более поздних версиях Windows.
целевая платформа Настольный
заголовка wdm.h (include Wdm.h)
библиотеки Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

См. также

ClfsReadNextLogRecord

ClfsTerminateReadLog