EnableThreadProfiling 函式 (winbase.h)
在指定的線程上啟用線程分析。
語法
DWORD EnableThreadProfiling(
[in] HANDLE ThreadHandle,
[in] DWORD Flags,
[in] DWORD64 HardwareCounters,
[out] HANDLE *PerformanceDataHandle
);
參數
[in] ThreadHandle
您要在其中啟用程式代碼剖析之線程的句柄。 這必須是目前的線程。
[in] Flags
若要接收線程分析數據,例如內容切換計數,請將此參數設定為 THREAD_PROFILING_FLAG_DISPATCH;否則,請將 設定為 0。
[in] HardwareCounters
若要接收硬體性能計數器數據,請將此參數設定為位掩碼,以識別要收集的硬體計數器。 您可以指定最多 16 個效能計數器。 每個位都與您所設定之硬體性能計數器的零起始硬體計數器索引直接相關。 如果您未收集硬體計數器數據,請將 設定為零。 如果您為尚未設定的硬體計數器設定位,該計數器的讀取計數器值為零。
[out] PerformanceDataHandle
呼叫 ReadThreadProfilingData 和 DisableThreadProfiling 函式時所使用的不透明句柄。
傳回值
如果呼叫成功,則傳回ERROR_SUCCESS;否則,系統錯誤碼 (請參閱 Winerror.h) 。
備註
您必須先呼叫 DisableThreadProfiling 函式 ,才能結束線程。
若要分析硬體性能計數器,您需要驅動程式來設定計數器。 性能計數器是針對系統全域設定的,因此每個線程都可以存取相同的硬體計數器數據。 您必須設定計數器,才能啟用程式代碼剖析。 如需設定硬體性能計數器的資訊,請參閱 Windows Driver Kit (WDK) 中的 KeSetHardwareCounterConfiguration 函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winbase.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |