클래식 공급자에서 관련 이벤트 작성
클래식 공급자는 TraceEventInstance 함수를 사용하여 단일 트랜잭션의 일부인 이벤트를 추적합니다. 이 함수를 사용하여 부모/자식 이벤트를 추적할 수도 있습니다.
TraceEventInstance 함수를 호출하기 전에 먼저 CreateTraceInstanceId 함수를 호출하여 트랜잭션 식별자를 가져와야 합니다. 이 함수는 고유한 트랜잭션 식별자를 생성하고 등록된 클래스 GUID 핸들에 매핑합니다. RegisterTraceGuids 함수를 호출한 후 등록된 클래스 GUID에 대한 핸들은 TRACE_GUID_REGISTRATION 구조체의 RegHandle 멤버에서 사용할 수 있습니다. 트랜잭션 식별자는 CreateTraceInstanceId 함수에 전달하는 EVENT_INSTANCE_INFO 구조체의 InstanceId 멤버에 배치됩니다.
TraceEventInstance 함수에 전달되는 EVENT_INSTANCE_HEADER 구조체는 인스턴스와 관련된 추가 정보를 포함하고 Guid 멤버를 포함하지 않는다는 점을 제외하고 EVENT_TRACE_HEADER 구조체(추적 이벤트 참조)와 비슷합니다.
이벤트 인스턴스를 사용하여 이벤트 간의 계층 관계를 설정할 수 있습니다. TraceEventInstance 함수는 두 이벤트 인스턴스의 instance 관련 정보를 허용합니다. pInstInfo 매개 변수는 이벤트 instance EVENT_INSTANCE_INFO 구조를 가리키고 pParentInstInfo 매개 변수는 부모 이벤트 instance EVENT_INSTANCE_INFO 구조를 가리킵니다. "부모" 이벤트 instance 정의는 애플리케이션에서 정의됩니다. 부모는 이미 생성된 모든 instance 될 수 있습니다.