PERF_COUNTERSET_INFO結構 (perflib.h)
定義提供者所使用之計數器集的相關資訊。 CTRPP工具會根據您指定的架構自動產生此結構。
語法
typedef struct _PERF_COUNTERSET_INFO {
GUID CounterSetGuid;
GUID ProviderGuid;
ULONG NumCounters;
ULONG InstanceType;
} PERF_COUNTERSET_INFO, *PPERF_COUNTERSET_INFO;
成員
CounterSetGuid
可唯一識別計數器集的 GUID。 counterSet元素的guid屬性包含 GUID。
ProviderGuid
可唯一識別支援計數器集合之提供者的 GUID。 提供者專案的providerGuid屬性包含 GUID。
NumCounters
計數器集合中的計數器數目。 請參閱<備註>。
InstanceType
指定計數器集合可允許多重執行個體 (Instance),例如處理序 (Process) 和實體磁碟,還是單一執行個體 (例如記憶體)。
以下是可能的實例類型。
值 |
意義 |
- PERF_COUNTERSET_SINGLE_INSTANCE
|
計數器集合包含單一執行個體計數器,例如測量實體記憶體的計數器。
|
- PERF_COUNTERSET_MULTI_INSTANCES
|
計數器集合包含多重執行個體計數器,例如測量處理序之平均磁碟 I/O 的計數器。
|
- PERF_COUNTERSET_SINGLE_AGGREGATE
|
計數器集合包含單一執行個體計數器,而該計數器的彙總值是取自一個或多個來源。 例如,這種計數器集合型別中的計數器可以取得電腦中三個硬碟各自的讀取次數,並將它們的值加總。
|
- PERF_COUNTERSET_MULTI_AGGREGATE
|
計數器集合包含多重執行個體計數器,而這些計數器的彙總值是取自計數器的所有執行個體。 例如,這種計數器集合中的計數器可能會取得多執行緒應用程式中所有線程的匯流排程執行時間,並加總其值。
|
- PERF_COUNTERSET_SINGLE_AGGREGATE_HISTORY
|
此類型與 PERF_COUNTERSET_SINGLE_AGGREGATE 之間的差異在於,此計數器集類型會儲存取用者應用程式存留期的所有計數器值, (計數器值快取超過計數器) 存留期。 例如,如果上述單一匯總範例中的其中一個硬碟變成無法使用,該磁片所讀取的總位元組仍然可以使用,並用來計算匯總值。
|
- PERF_COUNTERSET_INSTANCE_AGGREGATE
|
此類型類似于PERF_COUNTERSET_MULTI_AGGREGATE,不同之處在于,它不會將所有實例資料匯總成一個匯總的 (_Total) 實例,而是會匯總相同名稱實例的計數器資料。
例如,如果多個提供者進程包含名為 IExplore 的實例,PERF_COUNTERSET_MULTIPLE 和 PERF_COUNTERSET_MULTI_AGGREGATE CounterSet 會顯示多個 IExplore 實例 (IExplore、IExplore#1、IExplore#2 等) ;不過,PERF_COUNTERSET_INSTANCE_AGGREGATE實例類型只會發佈一個 IExplore 實例,其中包含所有名為 IExplore 之實例的匯總計數器資料。
Windows Vista: 此類型無法使用。
|
這個結構的記憶體區塊也包含一或多個 PERF_COUNTER_INFO 結構。 NumCounter成員會決定記憶體中這個結構後面的PERF_COUNTER_INFO結構數目。
需求
|
|
最低支援的用戶端 |
Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2008 [僅限傳統型應用程式] |
標頭 |
perflib.h |
另請參閱
PERF_COUNTER_INFO
PerfSetCounterSetInfo