共用方式為


效能計數器的新功能

本節說明針對每個版本新增至效能計數器的新功能。

Windows 10 20H1

如果您要直接從 登錄讀取效能資料,您現在可以執行僅限中繼資料的集合,以避免在建立可用的效能物件和計數器清單時發生不必要的工作。 如果您使用 MetadataGlobal 而不是 Global 在查詢中,所有已啟用中繼資料的提供者 DLL 都會略過資料收集步驟,可能會改善具有許多進程或執行緒之系統上的查詢效能。 未啟用中繼資料的提供者 DLL 將繼續如先前般運作。

如果您使用 效能 DLL 提供效能資料,您可以實作僅元資料集合的支援,以避免不必要的資料收集。 更新您的 Collect 函式以僅使用中繼資料來回應 MetadataGlobalMetadataCostly 查詢, (使用 PERF_METADATA_NO_INSTANCESPERF_METADATA_MULTIPLE_INSTANCESNumInstances ,並省略回應) 的所有 PERF_INSTANCE_DEFINITION 區塊,然後將值為 1 的 Performance 登錄值 REG_DWORD 新增 Collect Supports Metadata 至服務的子機碼。

Windows 7 與 Windows Server 2008 R2

CTRPP工具已變更,以改善並簡化程式碼產生。 此工具現在只會產生標頭和資源檔。 如果您想要 (不建議使用舊程式碼產生行為) ,您可以使用新的 -legacy 引數。

  • 您現在必須指定新的 -o-rc 引數,分別指定標頭和資源檔的名稱和資源檔的位置。
  • 您可以使用選擇性的新 -prefix 引數來指定字串,以新增至所產生標頭檔中定義的全域變數和函式開頭。
  • 如果您必須更新計數器資訊清單,使用新的程式碼產生,就不需要將先前的回呼實作與新的產生的程式碼合併,因為產生的程式碼中不再包含回呼。

下列資訊清單元素可以使用新的 symbol 屬性:

提供者counterSet需要 屬性 symbol ,而且是計數器的選擇性屬性。 屬性可讓您提供符號名稱,您可以在呼叫提供者函式 (時用來參考每個元素,例如,呼叫 PerfCreateInstance) 時,可以使用計數器集合符號名稱。

Windows Vista

此版本已完全變更提供計數器資料的效能計數器架構。

先前,您已使用 INI 檔案來定義計數器資料,並實作在取用者程式中執行的效能 DLL,以在取用者要求時提供資料。 此架構已被取代,不建議用於新的程式碼,因為有顯著的效能和可靠性問題。

新的架構會使用資訊清單來定義計數器資料,並在提供者的程式中執行程式碼,以在取用者要求時提供資料。 如需其他詳細資料,請參閱 使用 2.0 版提供計數器資料

此版本已新增下列函式:

此版本已新增下列結構:

如需您在資訊清單中用來定義計數器的 XML 元素清單,請參閱 效能計數器架構

如需剖析資訊清單的 CTRPP 前置處理器工具資訊,並產生您作為提供者起點的程式碼,請參閱 CTRPP