在 Win32 API 的 Cfgmgr32.h 头文件中,确实有 CM_Enumerate_EnumeratorsW 函数。这个函数与 CM_Enumerate_EnumeratorsA 函数类似,用于列举系统中的设备枚举器(Device Enumerators)。不同之处在于 W 版本使用宽字符(Unicode)。

以下是 CM_Enumerate_EnumeratorsW 函数的基本信息:
CMAPI CONFIGRET WINAPI CM_Enumerate_EnumeratorsW(
  ULONG   ulFlags,
  PDEVINSTID_W pszEnumerator,
  ULONG   ulDeviceIDSize,
  PULONG  pulLength,
  ULONG   ulReserved
);

参数说明:

  •  ulFlags: 保留字段,必须为零。

  •  pszEnumerator: 指向一个宽字符数组的指针,用于接收设备枚举器的设备实例标识符(Device Instance Identifier)。

  •  ulDeviceIDSize: pszEnumerator 缓冲区的大小,以字节为单位。

  •  pulLength: 指向一个变量的指针,用于接收实际返回的设备实例标识符的大小,以字节为单位。

  •  ulReserved: 保留字段,必须为零。


函数返回一个 CONFIGRET 类型的值,用于指示操作的成功与否。可能的返回值包括:

  •  CR_SUCCESS: 操作成功。

  •  其他值表示发生了错误,可以通过 CM_Get_Last_Error 函数获取详细的错误信息。


这个函数通常用于列举系统中已注册的设备枚举器,以获取有关系统设备的信息。在使用这类底层的系统函数时,确保了解其在系统中的影响和正确使用方式。最好查阅相关的官方文档以获取详细信息。


转载请注明出处:http://www.zyzy.cn/article/detail/24286/Win32 API/Cfgmgr32.h/CM_Enumerate_EnumeratorsW