Функция 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 см. в разделах Чтение записей данных из Stream CLFS и Чтение записей перезапуска из Stream CLFS.
Контексты чтения не являются потокобезопасны. Клиенты отвечают за сериализацию доступа к контекстам чтения.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Server 2003 R2, Windows Vista и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | wdm.h (включая Wdm.h) |
Библиотека | Clfs.lib |
DLL | Clfs.sys |
IRQL | <= APC_LEVEL |