다음을 통해 공유


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

항상 ELF_LOG_SIGNATURE(값은 0x654c664c )로 설정된 DWORD 값으로, eLfL의 경우 ASCII입니다.

RecordNumber

레코드의 수입니다. 이 값은 ReadEventLog 함수의 EVENTLOG_SEEK_READ 플래그와 함께 사용하여 지정된 레코드에서 읽기를 시작할 수 있습니다. 자세한 내용은 이벤트 로그 레코드를 참조하세요.

TimeGenerated

이 항목이 제출된 시간입니다. 이 시간은 1970년 1월 1일 유니버설 조정 시간 00:00:00 이후 경과된 시간(초)으로 측정됩니다.

TimeWritten

서비스에서 로그에 쓸 이 항목을 받은 시간입니다. 이 시간은 1970년 1월 1일 유니버설 조정 시간 00:00:00 이후 경과된 시간(초)으로 측정됩니다.

EventID

이벤트 식별자입니다. 값은 이벤트의 이벤트 원본과 관련이 있으며 소스 이름과 함께 이벤트 원본에 대한 메시지 파일에서 설명 문자열을 찾는 데 사용됩니다. 자세한 내용은 이벤트 식별자를 참조하세요.

EventType

이벤트의 유형입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

의미
EVENTLOG_ERROR_TYPE
0x0001
오류 이벤트
EVENTLOG_AUDIT_FAILURE
0x0010
오류 감사 이벤트
EVENTLOG_AUDIT_SUCCESS
0x0008
성공 감사 이벤트
EVENTLOG_INFORMATION_TYPE
0x0004
정보 이벤트
EVENTLOG_WARNING_TYPE
0x0002
경고 이벤트
 

자세한 내용은 이벤트 유형을 참조하세요.

NumStrings

로그에 있는 문자열의 수입니다( StringOffset으로 표시된 위치). 이러한 문자열은 사용자에게 표시되기 전에 메시지에 병합됩니다.

EventCategory

이 이벤트의 범주입니다. 이 값의 의미는 이벤트 원본에 따라 다릅니다. 자세한 내용은 이벤트 범주를 참조하세요.

ReservedFlags

예약되어 있습니다.

ClosingRecordNumber

예약되어 있습니다.

StringOffset

이 이벤트 로그 레코드 내의 설명 문자열 오프셋입니다.

UserSidLength

UserSid 멤버의 크기(바이트)입니다. 보안 식별자가 제공되지 않은 경우 이 값은 0일 수 있습니다.

UserSidOffset

이 이벤트 로그 레코드 내의 SID(보안 식별자)의 오프셋입니다. 이 SID의 사용자 이름을 가져오려면 LookupAccountSid 함수를 사용합니다.

DataLength

이벤트별 데이터 크기( DataOffset으로 표시된 위치)(바이트)입니다.

DataOffset

이 이벤트 로그 레코드 내의 이벤트별 정보의 오프셋(바이트)입니다. 이 정보는 특정한 정보일 수 있으며(예를 들어 디스크 드라이버가 다시 시도 횟수를 기록할 수 있음), 로깅되는 이벤트 및 항목을 생성한 원본과 관련된 이진 정보가 뒤따를 수 있습니다.

설명

정의된 멤버 뒤에는 이벤트 식별자가 식별한 메시지에 대한 대체 문자열, 이진 정보, 전체 항목이 DWORD 경계에 있는지 확인하기 위한 일부 패드 바이트, 마지막으로 로그 항목의 길이가 다시 표시됩니다. 문자열과 이진 정보는 길이가 모두 될 수 있으므로 이를 참조하기 위해 구조체 멤버가 정의되지 않습니다. Winnt.h에서 이 구조체의 선언은 다음과 같이 이러한 멤버를 설명합니다.

    // WCHAR SourceName[]
    // WCHAR Computername[]
    // SID   UserSid
    // WCHAR Strings[]
    // BYTE  Data[]
    // CHAR  Pad[]
    // DWORD Length;

원본 이름은 이벤트 원본의 이름을 지정하는 가변 길이 문자열입니다. 컴퓨터 이름은 이벤트를 생성한 컴퓨터의 이름입니다. 사용자 SID가 DWORD 경계에 맞춰지도록 일부 패딩 바이트가 뒤따를 수 있습니다. 사용자 SID는 이 이벤트가 기록될 때 활성 사용자를 식별합니다. UserSidLength가 0이면 이 필드가 비어 있을 수 있습니다.

이벤트 식별자는 원본 이름 및 언어 식별자와 함께 이벤트를 자세히 설명하는 문자열을 식별합니다. 문자열은 대체 문자열로 사용되며 메시지 문자열에 병합되어 전체 메시지를 만듭니다. 메시지 문자열은 레지스트리의 원본 항목에 지정된 메시지 파일에 포함됩니다. 메시지 파일에서 적절한 메시지 문자열을 가져오려면 LoadLibrary 함수를 사용하여 메시지 파일을 로드하고 FormatMessage 함수를 사용합니다.

이진 정보는 이벤트와 관련된 정보입니다. 디바이스 드라이버에 오류가 발생하면 프로세서 레지스터의 내용, 네트워크에서 수신된 잘못된 패킷 덤프, 프로그램의 모든 구조체 덤프(데이터 영역이 손상된 것으로 감지된 경우) 등이 될 수 있습니다. 이 정보는 디바이스 드라이버 또는 애플리케이션의 기록기에서 버그 또는 애플리케이션에 대한 무단 침입을 추적하는 데 유용해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 winnt.h(Windows.h 포함)

추가 정보

LookupAccountSid

ReadEventLog