winperf.h) PERF_OBJECT_TYPE (結構

描述物件特定的效能資訊,例如對象的實例數目,以及物件所定義的計數器數目。

語法

typedef struct _PERF_OBJECT_TYPE {
  DWORD         TotalByteLength;
  DWORD         DefinitionLength;
  DWORD         HeaderLength;
  DWORD         ObjectNameTitleIndex;
#if ...
  DWORD         ObjectNameTitle;
#else
  LPWSTR        ObjectNameTitle;
#endif
  DWORD         ObjectHelpTitleIndex;
#if ...
  DWORD         ObjectHelpTitle;
#else
  LPWSTR        ObjectHelpTitle;
#endif
  DWORD         DetailLevel;
  DWORD         NumCounters;
  LONG          DefaultCounter;
  LONG          NumInstances;
  DWORD         CodePage;
  LARGE_INTEGER PerfTime;
  LARGE_INTEGER PerfFreq;
} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE;

成員

TotalByteLength

物件特定數據的大小,以位元組為單位。 如果結構存在,這個成員是從這個 結構的開頭到下一個 PERF_OBJECT_TYPE 結構的位移。

DefinitionLength

這個結構的大小加上所有的大小
PERF_COUNTER_DEFINITION 結構。

如果對像是多個實例物件, (NumInstances 成員不是零) ,則這個成員是從這個 結構的開頭到第一個 PERF_INSTANCE_DEFINITION 結構的位移。 否則,這個值是 PERF_COUNTER_BLOCK的位移。

HeaderLength

這個 結構的大小,以位元組為單位。 這個成員是從這個 結構的開頭到第一 個PERF_COUNTER_DEFINITION 結構的位移。

ObjectNameTitleIndex

索引至標題資料庫中對象的名稱。 如需使用索引擷取物件名稱的詳細資訊,請參閱 擷取計數器名稱和說明文字

提供者會在初始化檔案中指定索引值。 如需詳細資訊,請參閱 將計數器名稱和描述新增至登錄

ObjectNameTitle

保留的。

ObjectHelpTitleIndex

索引至標題資料庫中對象的說明文字。 如需使用索引擷取對象說明文字的詳細資訊,請參閱 擷取計數器名稱和說明文字

提供者會在初始化檔案中指定索引值。 如需詳細資訊,請參閱 將計數器名稱和描述新增至登錄

ObjectHelpTitle

保留的。

DetailLevel

詳細數據層級。 取用者會使用此值來控制顯示複雜度。 這個值是指定物件之所有計數器的最小詳細數據層級。 這個成員可以是下列其中一個值。

詳細數據層級 意義
PERF_DETAIL_NOVICE
計數器數據會提供給所有使用者。
PERF_DETAIL_ADVANCED
系統會為進階使用者提供計數器數據。
PERF_DETAIL_EXPERT
計數器數據會提供給專家使用者。
PERF_DETAIL_WIZARD
系統設計工具會提供計數器數據。

NumCounters

物件所傳回 的PERF_COUNTER_DEFINITION 區塊數目。

DefaultCounter

索引至預設計數器標題資料庫中計數器的名稱,其資訊會在效能工具中選取此物件時顯示。 這個成員可能是 –1,表示沒有預設值。

NumInstances

正在提供計數器的物件實例數目。 如果物件可以有零或多個實例,但目前沒有任何實例,這個值應該是零。 如果物件不能有多個實例,這個值應該PERF_NO_INSTANCES。

CodePage

如果實例字串是 Unicode 字串,則這個成員為零。 否則,這個成員是實例名稱的代碼頁標識碼。 呼叫 MultiByteToWideChar 時,您可以使用代碼頁值,將字串轉換成 Unicode。

PerfTime

提供者產生的時間戳,取用者在計算計數器值時所使用的時間戳。 例如,這可能是高解析度性能計數器的目前值,以計數為單位。

如果計數器的計數器類型包含 PERF_OBJECT_TIMER 旗標,提供者必須提供此值。 否則,取用者會使用來自 PERF_DATA_BLOCKPerfTime 值。

PerfFreq

提供者產生的頻率值,取用者在計算計數器值時所使用的頻率值。 例如,這可能是高解析度性能計數器每秒計數中的目前頻率。

如果計數器的計數器類型包含 PERF_OBJECT_TIMER 旗標,提供者必須提供此值。 否則,取用者會使用來自 PERF_DATA_BLOCKPerfFreq 值。

備註

提供者會使用此結構來為它們支持的物件提供效能數據。 取用者會使用此結構來取用其所查詢物件的效能數據。

此結構後面接著 一份PERF_COUNTER_DEFINITION 結構清單,每個計數器都會針對性能物件定義的每個計數器列出一個。 如需效能數據區塊配置的詳細資訊,請參閱 效能數據格式

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 winperf.h (包含 Windows.h)

另請參閱

PERF_COUNTER_DEFINITION

PERF_DATA_BLOCK

效能數據格式