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
다음 중 하나에 해당합니다.
- RegHandle 은 NULL입니다.
- pInstInfo 는 NULL입니다.
설명
RegisterTraceGuids 기반("클래식") 공급자는 이 함수를 호출합니다. EventRegister 기반("Crimson") 공급자와 유사한 기능을 사용하려면 EventActivityIdControl 을 사용합니다.
ETW는 사용자 모드 프로세스에서 식별자를 만들므로 서로 다른 프로세스의 다른 인스턴스에 대해 동일한 수를 반환할 수 있습니다. InstanceId가 ULONG의 최대값에 도달하면 값이 다시 1
시작됩니다. 사용자 모드 공급자만 CreateTraceInstanceId 함수를 호출할 수 있습니다(드라이버는 이 함수를 호출할 수 없음).
예제
CreateTraceInstanceId를 사용하는 예제는 이벤트 인스턴스 추적을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | evntrace.h |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |