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


Функция ReadEventLogA (winbase.h)

Считывает указанное количество записей из указанного журнала событий. Функцию можно использовать для чтения записей журнала в хронологическом или обратном хронологическом порядке.

Синтаксис

BOOL ReadEventLogA(
  [in]  HANDLE hEventLog,
  [in]  DWORD  dwReadFlags,
  [in]  DWORD  dwRecordOffset,
  [out] LPVOID lpBuffer,
  [in]  DWORD  nNumberOfBytesToRead,
  [out] DWORD  *pnBytesRead,
  [out] DWORD  *pnMinNumberOfBytesNeeded
);

Параметры

[in] hEventLog

Дескриптор для чтения журнала событий. Функция OpenEventLog возвращает этот дескриптор.

[in] dwReadFlags

Используйте следующие значения флагов, чтобы указать, как считывать файл журнала. Этот параметр должен включать одно из следующих значений (флаги являются взаимоисключающими).

Ценность Значение
EVENTLOG_SEEK_READ
0x0002
Начните чтение из записи, указанной в параметре dwRecordOffset.

Этот параметр может не работать с большими файлами журнала, если функция не может определить размер файла журнала. Дополнительные сведения см. в статье базы знаний 177199.

EVENTLOG_SEQUENTIAL_READ
0x0001
Считывание записей последовательно.

Если это первая операция чтения, флаги EVENTLOG_FORWARDS_READ EVENTLOG_BACKWARDS_READ определяют, какая запись будет прочитана сначала.

 

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

Ценность Значение
EVENTLOG_FORWARDS_READ
0x0004
Журнал считывается в хронологическом порядке (самый старый до новейших).

Значение по умолчанию.

EVENTLOG_BACKWARDS_READ
0x0008
Журнал считывается в обратном хронологическом порядке (самый старый).

[in] dwRecordOffset

Число записей записи журнала, с которой должна начинаться операция чтения. Этот параметр игнорируется, если dwReadFlags включает флаг EVENTLOG_SEEK_READ.

[out] lpBuffer

Выделенный приложением буфер, который получит одну или несколько структур EVENTLOGRECOR D. Этот параметр не может быть значение NULL, даже если параметр nNumberOfBytesToRead равен нулю.

Максимальный размер этого буфера составляет 0x7ffff байт.

[in] nNumberOfBytesToRead

Размер буфера lpBuffer в байтах. Эта функция будет считывать столько записей журнала, сколько будет соответствовать буферу; Функция не вернет частичные записи.

[out] pnBytesRead

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

[out] pnMinNumberOfBytesNeeded

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

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

Если функция выполнена успешно, возвращаемое значение ненулевое.

Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Замечания

Когда эта функция возвращается успешно, позиция чтения в журнале событий корректируется по количеству записей, считываемых.

Примечание Настроенное имя файла для этого источника также может быть настроенным именем файла для других источников (несколько источников могут существовать как вложенные ключи в одном журнале). Таким образом, эта функция может возвращать события, зарегистрированные несколькими источниками.
 

Примеры

Пример см. в разделе запросы сведений о событиях.

Заметка

Заголовок winbase.h определяет ReadEventLog как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winbase.h (включая Windows.h)
библиотеки Advapi32.lib
DLL Advapi32.dll
набор API ext-ms-win-advapi32-eventlog-ansi-l1-1-0 (представлено в Windows 10 версии 10.0.10240)

См. также

ClearEventLog

CloseEventLog

EVENTLOGRECORD

Функции ведения журнала событий

OpenEventLog

ReportEvent