CreateTraceInstanceId 함수(evntrace.h)

RegisterTraceGuids 기반("클래식") 이벤트 공급자는 CreateTraceInstanceId 함수를 사용하여 고유한 트랜잭션 식별자를 만들고 등록 핸들에 매핑할 수 있습니다. 그런 다음 , 공급자는 TraceEventInstance 함수를 호출할 때 트랜잭션 식별자를 사용하여 이벤트를 지정된 트랜잭션에 속하는 것으로 표시합니다. 트랜잭션 식별자는 추적 분석 도구에서 이벤트를 그룹화하는 데 사용할 수 있습니다.

구문

ULONG WMIAPI CreateTraceInstanceId(
  [in]  HANDLE               RegHandle,
  [out] PEVENT_INSTANCE_INFO InstInfo
);

매개 변수

[in] RegHandle

등록된 이벤트 추적 클래스에 대한 핸들입니다. RegisterTraceGuids 함수는 TRACE_GUID_REGISTRATION 구조체의 RegHandle 멤버에서 이 핸들을 반환합니다.

[out] InstInfo

EVENT_INSTANCE_INFO 구조체에 대한 포인터입니다. 이 구조체의 InstanceId 멤버에는 트랜잭션 식별자가 포함됩니다.

반환 값

함수가 성공하면 반환 값이 ERROR_SUCCESS.

함수가 실패하면 반환 값은 시스템 오류 코드 중 하나입니다. 다음은 몇 가지 일반적인 오류와 그 원인입니다.

  • ERROR_INVALID_PARAMETER

    다음 중 하나에 해당합니다.

    • RegHandleNULL입니다.
    • pInstInfoNULL입니다.

설명

RegisterTraceGuids 기반("클래식") 공급자는 이 함수를 호출합니다. EventRegister 기반("Crimson") 공급자와 유사한 기능을 사용하려면 EventActivityIdControl 을 사용합니다.

ETW는 사용자 모드 프로세스에서 식별자를 만들므로 서로 다른 프로세스의 다른 인스턴스에 대해 동일한 수를 반환할 수 있습니다. InstanceIdULONG의 최대값에 도달하면 값이 다시 1 시작됩니다. 사용자 모드 공급자만 CreateTraceInstanceId 함수를 호출할 수 있습니다(드라이버는 이 함수를 호출할 수 없음).

예제

CreateTraceInstanceId를 사용하는 예제는 이벤트 인스턴스 추적을 참조하세요.

요구 사항

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

추가 정보

RegisterTraceGuids

TraceEventInstance