Здравствуйте, Lopcom, Вы писали:
L>Ну гуру, помогите. Почему не работает эта прога?
L> hDI = SetupDiGetClassDevs(&GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR, NULL, NULL, DIGCF_DEVICEINTERFACE|DIGCF_PRESENT);
L>{Вставлять в проект как обычное консольное Win32 L>приложение на C, и линковать с setupapi.lib.}
Не могу откомпилить — нет описания GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR
Можно вызвать что-то типа
SetupDiGetDeviceRegistryProperty(hDI, &dd, SPDRP_DRIVER, NULL, (PBYTE)&name, 256, NULL)
получить name = "{4D36E978-E325-11CE-BFC1-08002BE10318}\0001"
и получить HKEY самому
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\" + name
PS>Можно вызвать что-то типа PS>SetupDiGetDeviceRegistryProperty(hDI, &dd, SPDRP_DRIVER, NULL, (PBYTE)&name, 256, NULL) PS>получить name = "{4D36E978-E325-11CE-BFC1-08002BE10318}\0001"
PS>и получить HKEY самому PS>"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\" + name
Не... это не подходит, так как должно работать не только на NT. Я уже нашёл решение, дело было в том, что я пытался получить ключ реестра с настройками для "интерфейса", а такого ключа дейстивельно нет. Мне нужно было получать на самом деле ключ самого "устройства". И, соответственно, использовать совсем другие функции. Что я успешно и сделал.
Здравствуйте, Lopcom, Вы писали:
L>Не... это не подходит, так как должно работать не только на NT. Я уже нашёл решение, дело было в том, что я пытался получить ключ реестра с настройками для "интерфейса", а такого ключа дейстивельно нет. Мне нужно было получать на самом деле ключ самого "устройства". И, соответственно, использовать совсем другие функции. Что я успешно и сделаа что за функции?