PDH_BROWSE_DLG_CONFIG_W結構 (pdh.h)
PdhBrowseCounters 函式會使用PDH_BROWSE_DLG_CONFIG結構來設定 [流覽性能計數器] 對話方塊。
語法
typedef struct _BrowseDlgConfig_W {
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;
LPWSTR szDataSource;
LPWSTR szReturnPathBuffer;
DWORD cchReturnPathLength;
CounterPathCallBack pCallBack;
DWORD_PTR dwCallBackArg;
PDH_STATUS CallBackStatus;
DWORD dwDefaultDetailLevel;
LPWSTR szDialogBoxCaption;
} PDH_BROWSE_DLG_CONFIG_W, *PPDH_BROWSE_DLG_CONFIG_W;
成員
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指標。
如果 bInitializePath 為 TRUE,您可以使用這個成員來指定計數器路徑,其元件用來在第一次顯示對話框時反白顯示計算機、物件、計數器和實例清單中的專案。
cchReturnPathLength
SzReturnPathBuffer 緩衝區的大小,以 TCHAR 為單位。 如果回呼函式重新配置新的緩衝區,它也必須更新此值。
pCallBack
回呼函式的指標,該函式會處理用戶的選取專案。 如需詳細資訊,請參閱 CounterPathCallBack。
dwCallBackArg
傳遞至回調函式的呼叫端定義值。
CallBackStatus
在回呼函式的專案上,這個成員包含路徑緩衝區的狀態。 結束時,回呼函式會設定處理所產生的狀態值。
如果緩衝區太小而無法載入目前的選取範圍,對話框會將此值設定為PDH_MORE_DATA。 如果此值ERROR_SUCCESS, 則 szReturnPathBuffer 成員會包含有效的計數器路徑或計數器路徑清單。
如果回呼函式重新配置新的緩衝區,它應該將此成員設定為PDH_RETRY,讓對話框嘗試使用選取的路徑載入緩衝區,並再次呼叫回呼函式。
如果發生其他錯誤,回呼函式應該會傳回適當的 PDH 錯誤狀態值。
dwDefaultDetailLevel
如果 bHideDetailBox 為 FALSE,則會在 [詳細數據層級] 清單中顯示預設詳細數據層級。 如果 bHideDetailBox 為 TRUE,對話方塊會使用此值來篩選顯示的性能計數器和物件。 您可以指定下列其中一個值:
詳細數據層級 | 意義 |
---|---|
|
新手使用者可以瞭解計數器數據。 |
|
系統會為進階使用者提供計數器數據。 |
|
計數器數據會提供給專家使用者。 |
|
系統設計工具會提供計數器數據。 |
szDialogBoxCaption
Null 終止字串的指標,指定要顯示在對話框 標題 列中的選擇性 標題。 如果此成員為 NULL,則 標題 將會是 [流覽性能計數器]。
備註
每次按兩下 [ 新增] 按鈕時, szReturnPathBuffer 緩衝區會包含選取的計數器,並呼叫 pCallBack 回呼函式。 回呼函式應該針對緩衝區中的每個計數器呼叫 PdhAddCounter 函 式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
標頭 | pdh.h |