다음을 통해 공유


EvtExportLog 함수(winevt.h)

지정된 채널 또는 로그 파일에서 이벤트를 복사하고 대상 로그 파일에 씁니다.

구문

BOOL EvtExportLog(
  [in, optional] EVT_HANDLE Session,
  [in]           LPCWSTR    Path,
  [in]           LPCWSTR    Query,
  [in]           LPCWSTR    TargetFilePath,
  [in]           DWORD      Flags
);

매개 변수

[in, optional] Session

EvtOpenSession 함수가 반환하는 원격 세션 핸들입니다. 로컬 채널의 경우 NULL 로 설정합니다.

[in] Path

내보내려는 이벤트가 포함된 로그 파일의 전체 경로 또는 채널 이름입니다. Query 매개 변수에 XPath 쿼리가 포함된 경우 채널 또는 로그 파일을 지정해야 합니다. Flags 매개 변수에 EvtExportLogFilePath가 포함된 경우 로그 파일을 지정해야 합니다. Query 매개 변수에 구조적 XML 쿼리가 포함된 경우 여기서 지정하는 채널 또는 경로가 쿼리의 채널 또는 경로와 일치해야 합니다. Flags 매개 변수에 EvtExportLogChannelPath가 포함된 경우 쿼리가 채널을 지정하는 구조적 XML 쿼리인 경우 이 매개 변수는 NULL일 수 있습니다.

[in] Query

내보낼 이벤트 유형을 지정하는 쿼리입니다. XPath 1.0 쿼리 또는 구조적 XML 쿼리를 지정할 수 있습니다. XPath에 20개 이상의 식이 포함된 경우 구조적 XML 쿼리를 사용합니다. 모든 이벤트를 내보내려면 이 매개 변수를 NULL 또는 "*"로 설정합니다.

[in] TargetFilePath

이벤트를 수신할 대상 로그 파일의 전체 경로입니다. 대상 로그 파일이 없어야 합니다.

[in] Flags

이벤트가 채널 또는 로그 파일에서 오는지 여부를 나타내는 플래그입니다. 가능한 값은 EVT_EXPORTLOG_FLAGS 열거형을 참조하세요.

반환 값

반환 코드/값 설명
TRUE
함수가 성공했습니다.
FALSE
함수가 실패했습니다. GetLastError 함수를 사용하여 오류 코드를 가져옵니다.

설명

구조적 XML 쿼리를 사용하여 여러 채널에서 이벤트를 내보낼 수 있습니다( 이벤트 사용 참조). 그러나 이 함수를 사용하여 여러 로그 파일의 이벤트를 병합할 수는 없습니다. 쿼리 결과가 비어 있으면 서비스는 헤더 정보를 포함하지만 이벤트가 없는 파일을 만듭니다.

채널에서 이벤트를 제거하고 대상 로그 파일에 쓰려면 EvtClearLog 함수를 호출합니다. 로그 파일에 이벤트와 함께 지역화된 문자열을 포함하려면 EvtArchiveExportedLog 함수를 호출합니다.

대상 로그 파일의 절대 경로를 지정해야 합니다. 상대 경로 및 환경 변수를 사용하여 대상 로그 파일을 지정할 수 없습니다. 경로는 UNC(범용 명명 규칙) 경로일 수 있습니다. .evtx를 파일 이름 확장명으로 사용해야 합니다.

이 함수는 지정된 채널 또는 로그 파일에만 영향을 줍니다. 채널에서 autoBackup 또는 fileMax를 사용하는 경우 이 함수는 해당 백업 파일에 영향을 미치지 않습니다.

예제

이 함수를 사용하는 방법을 보여 주는 예제는 로그 파일에 이벤트 저장을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winevt.h
라이브러리 Wevtapi.lib
DLL Wevtapi.dll

추가 정보

EvtArchiveExportedLog

EvtClearLog