Share via


ReadEventLogW 함수(winbase.h)

지정된 이벤트 로그에서 지정된 수의 항목을 읽습니다. 함수는 시간순 또는 역순으로 로그 항목을 읽는 데 사용할 수 있습니다.

구문

BOOL ReadEventLogW(
  [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

읽기 작업을 시작해야 하는 로그 항목의 레코드 번호입니다. dwReadFlagsEVENTLOG_SEEK_READ 플래그가 포함되어 있지 않으면 이 매개 변수는 무시됩니다.

[out] lpBuffer

하나 이상의 EVENTLOGRECORD 구조를 수신할 애플리케이션 할당 버퍼입니다. nNumberOfBytesToRead 매개 변수가 0인 경우에도 이 매개 변수는 NULL일 수 없습니다.

이 버퍼의 최대 크기는 0x7ffff 바이트입니다.

[in] nNumberOfBytesToRead

lpBuffer 버퍼의 크기(바이트)입니다. 이 함수는 버퍼에 맞는 만큼의 로그 항목을 읽습니다. 함수는 부분 항목을 반환하지 않습니다.

[out] pnBytesRead

함수에서 읽은 바이트 수를 수신하는 변수에 대한 포인터입니다.

[out] pnMinNumberOfBytesNeeded

lpBuffer 버퍼의 필요한 크기를 수신하는 변수에 대한 포인터입니다. 이 값은 이 함수가 0을 반환하고 GetLastError가ERROR_INSUFFICIENT_BUFFER 반환하는 경우에만 유효합니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

이 함수가 성공적으로 반환되면 이벤트 로그의 읽기 위치는 읽은 레코드 수에 따라 조정됩니다.

참고 이 원본에 대해 구성된 파일 이름은 다른 원본에 대해 구성된 파일 이름일 수도 있습니다(여러 원본이 단일 로그 아래에 하위 키로 존재할 수 있음). 따라서 이 함수는 둘 이상의 원본에서 기록된 이벤트를 반환할 수 있습니다.
 

예제

예제는 이벤트 정보 쿼리를 참조하세요.

참고

winbase.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 ReadEventLog를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 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