PDH_BROWSE_DLG_CONFIG_HW结构(pdh.h)
PdhBrowseCountersH 函数使用 PDH_BROWSE_DLG_CONFIG_H 结构来配置 浏览性能计数器 对话框。
语法
typedef struct _BrowseDlgConfig_HW {
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;
PDH_HLOG hDataSource;
LPWSTR szReturnPathBuffer;
DWORD cchReturnPathLength;
CounterPathCallBack pCallBack;
DWORD_PTR dwCallBackArg;
PDH_STATUS CallBackStatus;
DWORD dwDefaultDetailLevel;
LPWSTR szDialogBoxCaption;
} PDH_BROWSE_DLG_CONFIG_HW, *PPDH_BROWSE_DLG_CONFIG_HW;
成员
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
如果此标志
如果此标志
bIncludeCostlyObjects
如果此标志 TRUE,则计数器列表还将包含成本高昂的数据,即需要相对大量的处理器时间或内存开销来收集的数据。
如果此标志 FALSE,则列表将不包含成本高昂的计数器。 这是默认值。
bShowObjectBrowser
如果此标志 TRUE,则对话框仅列出性能对象。 当用户选择对象时,对话框将返回一个计数器路径,其中包含实例名称和计数器的对象和通配符(如果该对象是多个实例对象)。 例如,如果选择了“Process”对象,则对话框将返回字符串“\Process\*”。 如果该对象是单个实例对象,则路径仅包含计数器的通配符。 例如,“\System*”。 然后,可以将路径传递给 PdhExpandWildCardPath,以检索对象的实际路径列表。
bReserved
hWndOwner
用于拥有对话框的窗口句柄。 如果 NULL,则所有者是桌面。
hDataSource
PdhBindInputDataSource 函数返回的数据源的句柄。
szReturnPathBuffer
指向包含所选计数器路径的MULTI_SZ的指针。
如果 bInitializePathTRUE,则可以使用此成员指定一个计数器路径,其组件用于在首次显示对话框时突出显示计算机、对象、计数器和实例列表中的条目。
cchReturnPathLength
TCHAr中 szReturnPathBuffer 缓冲区的大小。 如果回调函数重新分配新缓冲区,则还必须更新此值。
pCallBack
指向处理用户选择的回调函数的指针。 有关详细信息,请参阅 CounterPathCallBack。
dwCallBackArg
传递给回调函数的调用方定义值。
CallBackStatus
在回调函数的条目上,此成员包含路径缓冲区的状态。 退出时,回调函数将设置由处理生成的状态值。
如果缓冲区太小而无法加载当前所选内容,则对话框会将此值设置为PDH_MORE_DATA。 如果此值ERROR_SUCCESS,则 szReturnPathBuffer 成员包含有效的计数器路径或计数器路径列表。
如果回调函数重新分配新缓冲区,则应将此成员设置为PDH_RETRY,以便对话框将尝试使用所选路径加载缓冲区,并再次调用回调函数。
如果发生了其他错误,回调函数应返回相应的 PDH 错误状态值。
dwDefaultDetailLevel
如果
详细信息级别 | 意义 |
---|---|
|
新手用户可以了解计数器数据。 |
|
为高级用户提供计数器数据。 |
|
为专家用户提供计数器数据。 |
|
为系统设计器提供计数器数据。 |
szDialogBoxCaption
指向 null终止字符串的指针,该字符串指定要显示在对话框标题栏中的可选标题。 如果此成员 NULL,标题将 浏览性能计数器。
言论
每次单击 “添加”按钮时,szReturnPathBuffer 缓冲区将包含所选计数器,并调用 pCallBack 回调函数。 回调函数应为缓冲区中的每个计数器调用 PdhAddCounter 函数。
注意
pdh.h 标头将PDH_BROWSE_DLG_CONFIG_H定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows XP [仅限桌面应用] |
支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | pdh.h |