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


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

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

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

[in] nNumberOfBytesToRead

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

[out] pnBytesRead

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

[out] pnMinNumberOfBytesNeeded

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

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

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

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

Комментарии

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

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

Примеры

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

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header 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