在傳統提供者中撰寫相關事件
傳統 提供者會使用 TraceEventInstance 函式來追蹤屬於單一交易一部分的事件。 您也可以使用此函式來追蹤父/子事件。
呼叫 TraceEventInstance 函式之前,您必須先呼叫 CreateTraceInstanceId 函式以取得交易識別碼。 此函式會產生唯一的交易識別碼,並將其對應至已註冊的類別 GUID 控制碼。 呼叫RegisterTraceGuids函式之後,已註冊類別 GUID 的控制碼可在TRACE_GUID_REGISTRATION結構的RegHandle成員中使用。 交易識別碼會放在您傳遞給CreateTraceInstanceId函式之EVENT_INSTANCE_INFO結構的InstanceId成員中。
傳遞至TraceEventInstance函式的EVENT_INSTANCE_HEADER結構類似于EVENT_TRACE_HEADER結構 (請參閱追蹤事件) ,不同之處在于它包含與實例相關的其他資訊,而且不包含Guid成員。
事件實例可用來建立事件之間的階層式關聯性。 TraceEventInstance函式會接受來自兩個事件實例的實例特定資訊。 pInstInfo參數會指向事件實例EVENT_INSTANCE_INFO結構,而pParentInstInstInfo參數會指向父事件實例的EVENT_INSTANCE_INFO結構。 「父」事件實例的定義是應用程式定義的;父代可以是已產生的任何實例。