다음을 통해 공유


EvtRender 함수(winevt.h)

지정한 렌더링 컨텍스트에 따라 XML 조각을 렌더링합니다.

구문

BOOL EvtRender(
  [in]  EVT_HANDLE Context,
  [in]  EVT_HANDLE Fragment,
  [in]  DWORD      Flags,
  [in]  DWORD      BufferSize,
  [in]  PVOID      Buffer,
  [out] PDWORD     BufferUsed,
  [out] PDWORD     PropertyCount
);

매개 변수

[in] Context

EvtCreateRenderContext 함수가 반환하는 렌더링 컨텍스트에 대한 핸들입니다. Flags 매개 변수가 EvtRenderEventXml 또는 EvtRenderBookmark로 설정된 경우 이 매개 변수를 NULL로 설정해야 합니다.

[in] Fragment

이벤트 또는 책갈피에 대한 핸들입니다. Flags 매개 변수가 EvtRenderBookmark로 설정된 경우 이 매개 변수를 책갈피 핸들로 설정합니다. 그렇지 않으면 이벤트 핸들로 설정합니다.

[in] Flags

렌더링할 내용을 식별하는 플래그입니다. 예를 들어 이벤트의 전체 이벤트 또는 특정 속성입니다. 가능한 값은 EVT_RENDER_FLAGS 열거형을 참조하세요.

[in] BufferSize

버퍼 버퍼의 크기(바이트)입니다.

[in] Buffer

렌더링된 출력을 받을 호출자가 할당한 버퍼입니다. Flags 매개 변수가 EvtRenderEventXml 또는 EvtRenderBookmark로 설정된 경우 콘텐츠는 null로 끝나는 유니코드 문자열입니다. 그렇지 않으면 Flags 가 EvtRenderEventValues로 설정된 경우 버퍼에는 EVT_VARIANT 구조의 배열이 포함됩니다. 렌더링 컨텍스트에서 지정한 각 속성에 대해 1개입니다. PropertyCount 매개 변수에는 배열의 요소 수가 포함됩니다.

이 매개 변수를 NULL 로 설정하여 필요한 버퍼 크기를 확인할 수 있습니다.

[out] BufferUsed

함수가 사용한 호출자 할당 버퍼의 크기(바이트)이거나 함수가 ERROR_INSUFFICIENT_BUFFER 실패하는 경우 필요한 버퍼 크기입니다.

[out] PropertyCount

Flags 매개 변수가 EvtRenderEventValues로 설정된 경우 Buffer 매개 변수의 속성 수입니다. 그렇지 않으면 0입니다.

반환 값

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

설명

EvtCreateRenderContext 함수를 호출할 때 지정한 XPath 식 배열과 버퍼에 반환된 값 배열 간에는 일대일 관계가 있습니다.

이 함수의 EVT_HANDLE EvtRender 함수에 사용되는 경우 해당 함수에서 반환되는 값 목록은 각각 모양 순서대로 원래 ValuePaths 매개 변수 배열의 XPATH 식 중 하나에 해당하는 EVT_VARIANT 구조체 배열로 구성됩니다. 이러한 각 EVT_VARIANT 구조체에는 렌더링되는 이벤트에 대한 해당 XPATH 식으로 식별되는 값이 포함됩니다. 값을 찾을 수 없으면 EVT_VARIANT 구조체에 NULL이 포함됩니다. 여러 값이 있는 경우 EVT_VARIANT 구조체에 발생한 첫 번째 값이 포함됩니다.

XPath 쿼리에서 부동 소수점 숫자를 비교할 때는 주의해야 합니다. 부동 소수점 숫자의 문자열 표현은 대략적이므로 XML에 표시된 값이 이벤트에 저장된 숫자와 일치하지 않을 수 있습니다. 부동 소수점 숫자는 상수보다 작거나 큰 것으로 비교되어야 합니다.

예제

이 함수를 사용하는 방법을 보여 주는 예제는 이벤트 렌더링이벤트 책갈피 지정을 참조하세요.

요구 사항

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

추가 정보

EvtCreateRenderContext