共用方式為


建立其他登錄專案

建立應用程式的效能金鑰中所述,提供效能計數器資料的元件必須在Services索引鍵下具有效能索引鍵,而效能索引鍵必須包含程式庫開啟收集關閉值。 在某些情況下,您的元件可能需要設定其他登錄值。

中繼資料

MetadataGlobalMetadataCostly 是Windows 10 20H1 和更新版本所產生的僅限中繼資料查詢。 它們可讓使用者取得中繼資料 (物件資訊和計數器資訊) ,而不需要執行可能昂貴的資料收集。 只有中繼資料的查詢預期會傳回與對應 GlobalCostly 查詢相同的結果, NumInstances 但應該針對單一實例) 物件) 或 PERF_METADATA_NO_INSTANCES 單一實例物件的 (設定為 PERF_METADATA_MULTIPLE_INSTANCES (,而且結果應該省略所有 PERF_INSTANCE_DEFINITION 區塊。

如果您的效能 DLL 支援 MetadataGlobalMetadataCostly 查詢類型,它應該藉由將值 Collect Supports Metadata 新增 REG_DWORD 至其 Performance 索引鍵,並將值設定為 1 來表示。 如果 Collect Supports Metadata 不存在或設定為 0,則僅限中繼資料的查詢會回復至 GlobalCostly 查詢。

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name
               \Performance
                  Collect Supports Metadata = 1

連結

效能 DLL 的 OpenPerformanceData 函式會採用字串引數作為輸入。 若要提供輸入字串給開啟的函式,請在您的服務金鑰底下包含連結索引鍵。 連結鍵包含Export值。 將 [匯出 ] 的值資料設定為您想要傳遞至 open 函式的輸入字串。 Export的資料類型是REG_MULTI_SZ

如果未定義 Export (Export 是選擇性的) ,系統會將 Null 傳遞給 OpenPerformanceData 函式。

一般而言,如果多個應用程式共用相同的效能 DLL,每個應用程式都會包含 連結 索引鍵和 匯出 值,以提供呼叫 DLL 的應用程式內容。

以下顯示登錄專案:

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name-1
               \Linkage
                  Export = app-1 context strings
               \Performance
                  Library = perfctrs.dll
            \application-name-2
               \Linkage
                  Export = app-2 context strings
               \Performance
                  Library = perfctrs.dll

逾時

根據預設,效能 DLL 的 OpenPerformanceDataCollectPerformanceData 函式必須在 10,000 毫秒內傳回。 如果沒有,系統就不會使用 DLL 傳回的資料。 應用程式可以藉由在其[效能] 機碼下指定[開啟逾時] 或 [收集逾時] 登錄值來增加或減少逾時值,如下列範例所示。

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name
               \Performance
                  Open Timeout = Timeout value for your open function, in milliseconds
                  Collect Timeout = Timeout value for your collect function, in milliseconds

DOS 裝置

若要取得某些應用程式的效能資料, (使用 DeviceIoControl 函式傳回計數器) ,必須使用 CreateFile 函式來開啟與應用程式相關聯的裝置。 在此情況下, CreateFile 中指定的名稱也必須安裝在登錄的 DOS 裝置節點中,如下所示:

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Control
            \Session Manager
               \DOS Devices