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的指针。
如果 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 |