CM_Get_DevNode_Property_Keys 有没有办法获取键的名称
CM_Get_DevNode_Property_Keys Is there a way to get names of the keys
我能够获得开发节点的 属性 密钥 (DEVPROPKEY)。但是我没有找到一种方法来获取这些键的名称 and/or 描述。
也可以使用 CM_Get_DevNode_PropertyW.
获取那些 属性 键的值
如果我使用 LOOP 获取键和值,我会得到除键的名称之外的所有信息?
编辑
这些键是在 devpkey.h 中预定义的,例如;
DEFINE_DEVPROPKEY(DEVPKEY_Device_DeviceDesc, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 2); // DEVPROP_TYPE_STRING
DEFINE_DEVPROPKEY(DEVPKEY_Device_HardwareIds, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 3); // DEVPROP_TYPE_STRING_LIST
目前我认为唯一的方法是比较从函数中获得的键和预定义的键。
使用 Delphi 我必须将所有这些键从 C++ 代码转换为 Delphi 代码。
我仍然认为应该有一种方法可以通过 cfgmgr.dll 或 setupapi.dll ?
的函数调用来获取名称
这是我从MSDN论坛得到的答案:
名称未以可查询的方式存储在系统中。你必须查看类型定义才能知道它们是什么
这意味着我将不得不比较从 funcion 获得的键和定义的键。
我希望命名 and/or 描述存储在某个地方,这样我就不必根据系统语言翻译命名。这是因为键值是以系统语言返回的。
如果 DEVPROPKEY 实际上是一个 PROPERTYKEY(很多都是),使用 PSGetNameFromPropertyKey (propsys.h/propsys.dll)
我能够获得开发节点的 属性 密钥 (DEVPROPKEY)。但是我没有找到一种方法来获取这些键的名称 and/or 描述。 也可以使用 CM_Get_DevNode_PropertyW.
获取那些 属性 键的值如果我使用 LOOP 获取键和值,我会得到除键的名称之外的所有信息?
编辑 这些键是在 devpkey.h 中预定义的,例如;
DEFINE_DEVPROPKEY(DEVPKEY_Device_DeviceDesc, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 2); // DEVPROP_TYPE_STRING
DEFINE_DEVPROPKEY(DEVPKEY_Device_HardwareIds, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 3); // DEVPROP_TYPE_STRING_LIST
目前我认为唯一的方法是比较从函数中获得的键和预定义的键。 使用 Delphi 我必须将所有这些键从 C++ 代码转换为 Delphi 代码。 我仍然认为应该有一种方法可以通过 cfgmgr.dll 或 setupapi.dll ?
的函数调用来获取名称这是我从MSDN论坛得到的答案: 名称未以可查询的方式存储在系统中。你必须查看类型定义才能知道它们是什么
这意味着我将不得不比较从 funcion 获得的键和定义的键。
我希望命名 and/or 描述存储在某个地方,这样我就不必根据系统语言翻译命名。这是因为键值是以系统语言返回的。
如果 DEVPROPKEY 实际上是一个 PROPERTYKEY(很多都是),使用 PSGetNameFromPropertyKey (propsys.h/propsys.dll)