Структура EVENTLOGRECORD (winnt.h)
Содержит сведения о записи события, возвращаемой функцией ReadEventLog .
typedef struct _EVENTLOGRECORD {
DWORD Length;
DWORD Reserved;
DWORD RecordNumber;
DWORD TimeGenerated;
DWORD TimeWritten;
DWORD EventID;
WORD EventType;
WORD NumStrings;
WORD EventCategory;
WORD ReservedFlags;
DWORD ClosingRecordNumber;
DWORD StringOffset;
DWORD UserSidLength;
DWORD UserSidOffset;
DWORD DataLength;
DWORD DataOffset;
} EVENTLOGRECORD, *PEVENTLOGRECORD;
Length
Размер этой записи события в байтах. Обратите внимание, что это значение хранится на обоих концах записи, чтобы упростить перемещение вперед или назад по журналу. Длина включает все байты панели, вставленные в конце записи для выравнивания DWORD .
Reserved
Значение DWORD, которое всегда имеет значение ELF_LOG_SIGNATURE (значение равно 0x654c664c), то есть ASCII для eLfL.
RecordNumber
Номер записи. Это значение можно использовать с флагом EVENTLOG_SEEK_READ в функции ReadEventLog , чтобы начать чтение указанной записи. Дополнительные сведения см. в разделе Записи журнала событий.
TimeGenerated
Время отправки этой записи. Это время измеряется в количестве секунд, прошедших с 00:00:00 1 января 1970 года, Универсальное координированное время.
TimeWritten
Время, когда эта запись была получена службой для записи в журнал. Это время измеряется в количестве секунд, прошедших с 00:00:00 1 января 1970 года, Универсальное координированное время.
EventID
Идентификатор события. Значение зависит от источника события и используется с именем источника, чтобы найти строку описания в файле сообщения для источника событий. Дополнительные сведения см. в разделе Идентификаторы событий.
EventType
Тип события. Этот элемент может быть одним из следующих значений.
Дополнительные сведения см. в разделе Типы событий.
NumStrings
Количество строк, присутствующих в журнале (в позиции, указанной StringOffset). Эти строки объединяются с сообщением перед отображением для пользователя.
EventCategory
Категория для этого события. Значение этого значения зависит от источника события. Дополнительные сведения см. в разделе Категории событий.
ReservedFlags
Зарезервировано.
ClosingRecordNumber
Зарезервировано.
StringOffset
Смещение строк описания в этой записи журнала событий.
UserSidLength
Размер элемента UserSid в байтах. Это значение может быть равно нулю, если идентификатор безопасности не указан.
UserSidOffset
Смещение идентификатора безопасности (SID) в этой записи журнала событий. Чтобы получить имя пользователя для этого идентификатора безопасности, используйте функцию LookupAccountSid .
DataLength
Размер данных, зависящих от события (в позиции, указанной DataOffset), в байтах.
DataOffset
Смещение сведений о событиях в этой записи журнала событий в байтах. Эти сведения могут быть конкретными (например, драйвер диска может регистрировать количество повторных попыток), а затем двоичные сведения, относящиеся к регистрируемой событии и источнику, который создал запись.
За определенными элементами следуют строки замены для сообщения, определяемого идентификатором события, двоичные сведения, некоторые байты панели, чтобы убедиться, что полная запись находится на границе DWORD , и, наконец, длина записи журнала снова. Так как строки и двоичные данные могут иметь любую длину, для ссылки на них не определены члены структуры. Объявление этой структуры в Winnt.h описывает эти элементы следующим образом:
// WCHAR SourceName[]
// WCHAR Computername[]
// SID UserSid
// WCHAR Strings[]
// BYTE Data[]
// CHAR Pad[]
// DWORD Length;
Имя источника — это строка переменной длины, указывающая имя источника событий. Имя компьютера — это имя компьютера, создающего событие. За ним можно следовать с несколькими байтами заполнения, чтобы идентификатор безопасности пользователя был выровнен по границе DWORD . Идентификатор безопасности пользователя идентифицирует активного пользователя на момент регистрации этого события. Если значение UserSidLength равно нулю, это поле может быть пустым.
Идентификатор события вместе с именем источника и идентификатором языка идентифицирует строку, которая описывает событие более подробно. Строки используются в качестве строк замены и объединяются в строку сообщения для создания полного сообщения. Строки сообщений содержатся в файле сообщений, указанном в исходной записи в реестре. Чтобы получить соответствующую строку сообщения из файла сообщения, загрузите файл сообщения с помощью функции LoadLibrary и используйте функцию FormatMessage .
Двоичные сведения — это сведения, относящиеся к событию. Это может быть содержимое регистров процессора, когда драйвер устройства получил ошибку, дамп недопустимого пакета, полученного из сети, дамп всех структур в программе (когда область данных была обнаружена как поврежденная) и т. д. Эти сведения должны быть полезны для записи драйвера устройства или приложения при отслеживании ошибок или несанкционированных прерываний в приложении.
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | winnt.h (включая Windows.h) |