共用方式為


PDH_BROWSE_DLG_CONFIG_A 結構 (pdh.h)

PdhBrowseCounters 函式會使用PDH_BROWSE_DLG_CONFIG結構來設定 [流覽性能計數器] 對話方塊。

語法

typedef struct _BrowseDlgConfig_A {
  DWORD               bIncludeInstanceIndex : 1;
  DWORD               bSingleCounterPerAdd : 1;
  DWORD               bSingleCounterPerDialog : 1;
  DWORD               bLocalCountersOnly : 1;
  DWORD               bWildCardInstances : 1;
  DWORD               bHideDetailBox : 1;
  DWORD               bInitializePath : 1;
  DWORD               bDisableMachineSelection : 1;
  DWORD               bIncludeCostlyObjects : 1;
  DWORD               bShowObjectBrowser : 1;
  DWORD               bReserved : 22;
  HWND                hWndOwner;
  LPSTR               szDataSource;
  LPSTR               szReturnPathBuffer;
  DWORD               cchReturnPathLength;
  CounterPathCallBack pCallBack;
  DWORD_PTR           dwCallBackArg;
  PDH_STATUS          CallBackStatus;
  DWORD               dwDefaultDetailLevel;
  LPSTR               szDialogBoxCaption;
} PDH_BROWSE_DLG_CONFIG_A, *PPDH_BROWSE_DLG_CONFIG_A;

成員

bIncludeInstanceIndex

如果此旗標為 TRUE,對話框會包含重複實例名稱的索引編號。 例如,如果有兩個 Cmd 實例,實例清單將會包含 cmd 和 cmd#1。 如果此旗標為 FALSE,重複的實例名稱將不會包含索引編號。

bSingleCounterPerAdd

如果此旗標為 TRUE,對話框只會傳回一個計數器。 如果此旗標為 FALSE,對話框可以傳回多個選取專案,而且允許通配符選取專案。 選取的計數器會以MULTI_SZ字串的形式傳回。

bSingleCounterPerDialog

如果此旗標為 TRUE,對話方塊會使用 [確定] 和 [取消] 按鈕。 當使用者按兩下任一按鈕時,對話框會傳回。 如果此旗標為 FALSE,對話方塊會使用 [新增] 和 [關閉] 按鈕。 當使用者按兩下 [關閉] 按鈕時,對話框就會關閉。 您可以多次按下 [新增] 按鈕。 [新增] 按鈕會以目前選取的專案覆寫先前選取的專案。

bLocalCountersOnly

如果此旗標為 TRUE,對話框可讓使用者只從本機電腦選取計數器, (路徑將不會包含電腦名稱) 。 如果此旗標為 FALSE,使用者可以指定要從中選取計數器的電腦。 除非使用者選取 [使用本機計算機計數器] ,否則計算機名稱會前置詞計數器路徑。

bWildCardInstances

如果此旗標為 TRUE ,且使用者選取 [所有實例],計數器路徑將會包含實例字段的通配符。

如果此旗標為 FALSE,且使用者選取 [所有實例],則目前找到該物件的所有實例都會在MULTI_SZ字串中傳回。

bHideDetailBox

如果此旗標為 TRUE,這會從對話框中移除 詳細數據層級 ,讓使用者無法變更對話框中顯示的計數器詳細數據層級。 詳細數據層級會固定為 dwDefaultDetailLevel 成員的值。

如果此旗標為 FALSE,這會在對話框中顯示 詳細數據層級 ,讓使用者變更所顯示計數器的詳細數據層級。

請注意,顯示的計數器將會是詳細數據層級小於或等於目前詳細數據層級選取範圍的計數器。 選取精靈的詳細數據層級會顯示所有計數器和物件。

bInitializePath

如果此旗標為 TRUE,對話方塊會在第一次顯示對話框時反白顯示 szReturnPathBuffer 中指定的計數器和物件,而不是使用計算機所指定的預設計數器和物件。

如果此旗標為 FALSE,這會使用電腦傳回的預設計數器和對象資訊來選取初始計數器和物件。

bDisableMachineSelection

如果此旗標為 TRUE,使用者就無法從 [ 從計算機選取計數器] 中選取計算機。

如果此旗標為 FALSE,使用者可以 從 [從電腦選取計數器] 中選取電腦。 這是預設值。 除非您先呼叫 PdhConnectMachine 以連線到其他電腦,否則清單才會包含本機電腦。

bIncludeCostlyObjects

如果此旗標為 TRUE,計數器清單也會包含成本高昂的數據,也就是需要相對大量的處理器時間或記憶體額外負荷才能收集的數據。

如果此旗標為 FALSE,清單將不會包含成本高昂的計數器。 這是預設值。

bShowObjectBrowser

如果此旗標為 TRUE,對話框只會列出效能物件。 當使用者選取物件時,如果對像是多個實例對象,對話框會傳回計數器路徑,其中包含實例名稱和計數器的物件和通配符。 例如,如果選取 「Process」 物件,對話框會傳回字串 「\Process (*) *」。。 如果對像是單一實例對象,路徑只會包含計數器的通配符。 例如,“\System*”。 然後,您可以將路徑傳遞至 PdhExpandWildCardPath ,以擷取對象的實際路徑清單。

bReserved

hWndOwner

視窗的句柄,以擁有對話框。 如果 為 NULL,則擁有者是桌面。

szDataSource

Null 終止字串的指標,指定從中擷取計數器清單的記錄檔名稱。 如果 為 NULL,則會從本機電腦擷取計數器清單 (,如果指定) ,則會從本機電腦擷取或遠端電腦。

szReturnPathBuffer

包含所選取計數器路徑的MULTI_SZ指標。

如果 bInitializePathTRUE,您可以使用這個成員來指定計數器路徑,其元件用來在第一次顯示對話框時醒目提示計算機、物件、計數器和實例清單中的專案。

cchReturnPathLength

SZReturnPathBuffer 緩衝區的大小,在 TCHAR 中。 如果回呼函式重新配置新的緩衝區,它也必須更新此值。

pCallBack

處理用戶選取範圍的回呼函式指標。 如需詳細資訊,請參閱 CounterPathCallBack

dwCallBackArg

傳遞至回呼函式的呼叫端定義值。

CallBackStatus

在回呼函式的專案上,此成員包含路徑緩衝區的狀態。 結束時,回呼函式會設定處理所產生的狀態值。

如果緩衝區太小而無法載入目前的選取範圍,對話框會將此值設定為PDH_MORE_DATA。 如果此值ERROR_SUCCESS, 則 szReturnPathBuffer 成員會包含有效的計數器路徑或計數器路徑清單。

如果回呼函式重新配置新的緩衝區,它應該將此成員設定為 PDH_RETRY,讓對話框嘗試使用選取的路徑載入緩衝區,然後再次呼叫回呼函式。

如果發生其他錯誤,則回呼函式應該會傳回適當的 PDH 錯誤狀態值。

dwDefaultDetailLevel

如果 bHideDetailBoxFALSE,則會在 [詳細數據層級] 清單中顯示的預設詳細數據層級。 如果 bHideDetailBoxTRUE,對話方塊會使用此值來篩選顯示的性能計數器和物件。 您可以指定下列其中一個值:

詳細數據層級 意義
PERF_DETAIL_NOVICE
新手使用者可以瞭解計數器數據。
PERF_DETAIL_ADVANCED
針對進階使用者提供計數器數據。
PERF_DETAIL_EXPERT
計數器數據會提供給專家使用者。
PERF_DETAIL_WIZARD
系統設計工具會提供計數器數據。

szDialogBoxCaption

Null 終止字串的指標,指定要顯示在對話框 標題 列中的選擇性 標題。 如果此成員為 NULL,標題 將會是 [流覽性能計數器]。

備註

每次按兩下 [ 新增] 按鈕時, szReturnPathBuffer 緩衝區就會包含選取的計數器,並呼叫 pCallBack 回 呼函式。 回呼函式應該針對緩衝區中的每個計數器呼叫 PdhAddCounter 函式。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 pdh.h

另請參閱

CounterPathCallBack

PdhAddCounter

PdhBrowseCounters