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 型 (「傳統」) 提供者會呼叫此函式。 使用 EventActivityIdControl 搭配 EventRegister 型 (“Crimson”) 提供者的類似功能。
ETW 會在使用者模式進程中建立標識符,因此可能會針對不同進程中的不同實例傳回相同的數位。 當 InstanceId 達到 ULONG 的最大值時,值會從 1
開始。 只有使用者模式提供者可以呼叫 CreateTraceInstanceId 函式, (驅動程式無法呼叫此函式) 。
範例
如需使用 CreateTraceInstanceId 的範例,請參閱 追蹤事件實例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | evntrace.h |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |