PerfQueryCounterSetRegistrationInfo 函数 (perflib.h)

获取有关指定系统上的计数器集的信息。

语法

ULONG PerfQueryCounterSetRegistrationInfo(
  [in, optional]  LPCWSTR         szMachine,
  [in]            LPCGUID         pCounterSetId,
                  PerfRegInfoType requestCode,
                  DWORD           requestLangId,
  [out, optional] LPBYTE          pbRegInfo,
                  DWORD           cbRegInfo,
  [out]           LPDWORD         pcbRegInfoActual
);

parameters

[in, optional] szMachine

要获取 pCounterSet 参数指定的计数器集相关信息的计算机的名称。 如果为 NULL,则函数检索有关本地计算机的指定计数器集的信息。

[in] pCounterSetId

要获取其信息的计数器集的计数器集标识符。

requestCode

要获取的有关计数器集的信息的类型。 有关可能值的列表,请参阅 PerfRegInfoType

requestLangId

如果 requestCodePERF_REG_COUNTERSET_NAME_STRING,则为包含所请求信息的字符串的首选区域设置标识符,

PERF_REG_COUNTERSET_HELP_STRINGPERF_REG_COUNTER_NAME_STRINGS

PERF_REG_COUNTER_HELP_STRINGS

需要其数据的计数器的计数器标识符(如果 requestCodePERF_REG_COUNTER_STRUCT)。

对于 requestCode 的所有其他值,设置为 0。

[out, optional] pbRegInfo

指向足够大以接收 cbRegInfo 参数指定的数据量(以字节为单位)的缓冲区的指针。 可能

如果 cbRegInfo 为 0,则为 NULL。

cbRegInfo

pbRegInfo 参数指定的缓冲区大小(以字节为单位)。

[out] pcbRegInfoActual

获取有关计数器集的信息所需的缓冲区大小。 含义取决于函数的值

返回。

函数返回值 印刷品RegInfoActual 的含义
ERROR_SUCCESS 的数量

有关指定计数器集的信息字节,该计数器集存储在 pbRegInfo 指定的缓冲区中的函数。

ERROR_NOT_ENOUGH_MEMORY The

存储指定计算机上设置的计数器的相关信息所需的缓冲区大小(以字节为单位)。 将缓冲区放大到所需的

调整大小,然后再次调用函数。

其他 该值未定义,不应使用。

返回值

返回代码 说明
ERROR_SUCCESS
函数已成功将有关计数器集的所有信息存储在 pbRegInfo 指定的缓冲区中。 由印刷品RegInfoActual 指向的值指示实际存储在缓冲区中的信息量(以字节为单位)。
ERROR_NOT_ENOUGH_MEMORY
pbRegInfo 指定的缓冲区不够大,无法存储有关计数器集的所有信息。 由印刷品RegInfoActual 指向的值指示存储所有信息所需的缓冲区大小。 将缓冲区放大到所需的

调整大小,然后再次调用函数。

 

对于其他类型的故障,返回值为 系统错误代码

注解

有关可以请求和 的数据类型,请参阅 PerfRegInfoType

为每种请求类型提供的数据的格式。

要求

   
最低受支持的客户端 Windows 10版本 1607 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 perflib.h
Library AdvAPI32.lib
DLL AdvAPI32.dll