Я могу получить ключи свойств (DEVPROPKEY) devnode. Однако я не нашел способа получить имена и / или описания этих ключей.
Также возможно получить значения этих ключей свойств, используя 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.
Тем не менее я думаю, что должен быть способ получить имена с помощью вызова funcion из cfgmgr.dll или setupapi.dll?
Вот ответ, который я получил с форума MSDN:
имена не хранятся в системе запросным способом. Вы должны посмотреть на определения типов, чтобы знать, что они
Это значит, что мне придется сравнивать ключи, полученные из функции, с определенными.
Я надеялся, что наименование и / или описание были сохранены где-то, поэтому мне не нужно переводить наименование в соответствии с языком системы. Это потому, что значения ключей возвращаются на системном языке.
Других решений пока нет …