Функция 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 |