DXGKCB_LOG_ETW_EVENT 콜백 함수(dispmprt.h)

DxgkCbLogEtwEvent 함수는 ETW(Windows용 이벤트 추적) 이벤트를 기록합니다.

구문

DXGKCB_LOG_ETW_EVENT DxgkcbLogEtwEvent;

void DxgkcbLogEtwEvent(
  [in] const LPCGUID EventGuid,
  [in] UCHAR Type,
  [in] USHORT EventBufferSize,
  [in] PVOID EventBuffer
)
{...}

매개 변수

[in] EventGuid

기록할 이벤트를 식별하는 GUID입니다.

[in] Type

이벤트 유형을 지정하는 상수입니다. 이러한 상수는 Evntrace.h 에 정의되며 EVENT_TRACE_TYPE_XX 형식입니다. EventGuid가 GUID_DXGKDDI_AZURE_TRIAGE_EVENT 경우 형식이 무시됩니다.

[in] EventBufferSize

EventBuffer가 가리키는 버퍼의 크기(바이트)입니다. 버퍼가 256바이트보다 큰 경우 상당한 성능 저하가 있습니다.

[in] EventBuffer

기록할 정보가 포함된 버퍼에 대한 포인터입니다. 이 매개 변수는 NULL이거나 EventGuid 값에 따라 다음 구조체 형식에 대한 포인터일 수 있습니다.

반환 값

없음

설명

이벤트 로깅을 사용하도록 설정하지 않으면 DxgkCbLogEtwEvent 는 이벤트를 로깅하지 않고 즉시 반환됩니다.

이벤트 로깅을 사용하거나 사용하지 않도록 설정하려면 DxgkDdiControlEtwLogging 함수를 호출합니다.

EventBufferSize가 256보다 작거나 같으면 DxgkCbLogEtwEvent를 모든 IRQL이라고 할 수 있습니다. EventBufferSize가 256보다 크면 IRQL = PASSIVE_LEVEL DxgkCbLogEtwEvent를 호출해야 합니다.

예: 이벤트 로거를 사용하여 이벤트 로깅

다음 코드 예제에서는 이벤트 로거를 사용하여 이벤트를 기록하는 방법을 보여 있습니다.

// {A7BF27A0-7401-4733-9FED-FDB51067FECC}
DEFINE_GUID(R200_DUMMY_LOGGING,
0xa7bf27a0, 0x7401, 0x4733, 0x9f, 0xed, 0xfd, 0xb5, 0x10, 0x67, 0xfe, 0xcc);

VOID
DummyTrace(
    HW_DEVICE_EXTENSION* Adapter
    )
{
    Adapter->ddiCallback.DxgkCbLogEtwEvent(&R200_DUMMY_LOGGING,
  EVENT_TRACE_TYPE_INFO,
  0,
  NULL);
}

Azure 드라이버 이벤트 로깅

WDDM 2.9(Windows Server 2022)부터 그래픽 드라이버의 DxgkCbLogEtwEvent 콜백 함수는 Azure 심사 및 모니터링과 관련된 중요한 이벤트를 노출할 수 있습니다. Azure에서 vGPU 제품을 추가함에 따라 드라이버에서 볼 수 있는 중요한 이벤트를 노출하는 메커니즘이 더 중요해질 것입니다. 모니터링 및 상태에 특히 중요한 것은 VF TDR(함수 수준 재설정) 및 전체 GPU 재설정(어댑터 전체 TDR)의 노출입니다. 나중에 이 프레임워크를 통해 OS는 문제가 발생할 때 심사 값이 있는 드라이버별 동작을 포함할 수 있는 추가 중요한 이벤트를 노출할 수 있습니다.

드라이버는 다음 GUID를 사용하여 특정 Azure 드라이버 이벤트를 보고해야 합니다.


DEFINE_GUID(GUID_DXGKDDI_AZURE_TRIAGE_EVENT,
0x45125F6F, 0x6132, 0x4082, 0xAD, 0x17, 0xED, 0x27, 0xF8, 0xDD, 0x02, 0xF9);

이러한 이벤트는 그래픽 커널 구성 요소에서 심사 정보를 인시던트 심사에 사용되는 표준 Azure 모니터링 파이프라인에 공급하는 데 사용됩니다. 또한 머신 이벤트 기록을 빌드하고 호스트 및 지원하는 VM의 상태를 모니터링하는 데 사용할 유용한 쿼리를 노출하는 다른 그래픽 이벤트와 통합됩니다.

이 GUID를 사용하는 경우 EventBufferDXGKARG_PARTITIONING_EVENT_NOTIFICATION 구조를 가리킵니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 데스크톱
머리글 dispmprt.h(Dispmprt.h 포함)
IRQL 설명 섹션을 참조하십시오.

추가 정보

DXGKARG_PARTITIONING_EVENT_NOTIFICATION

DxgkDdiControlEtwLogging