Проблема стоит у меня. Траблы с использованием функций SetupDiGetClassDevs и SetupDiEnumDeviceInterfaces. Я никак не могу решить какая больше виновата. Симптомы: вызываешь первую - срабатывает, вызываешь вторую - ERROR_NO_MORE_ITEMS. Вероятно дело в GUID. Я свой заполняю так
GUID HidGuid = {
0x745a17a0,
0x74d3,
0x11d0,
{0xb6,0xfe,0x00,0xa0,0xc9,0x0f,0x57,0xda}
};
Взял его с MSDN. Это установочный GUID класса для HID USB устройств. Покопавшись по инету нашел вот это "Следует различать GUID класса и установочный GUID класса, использовать установочный GUID для обнаружения реальных устройств нельзя." Возникает вопрос где взять этот самый не установочный GUID.
А зачем брать самому заполнять GUID? Они ж есть все в devguid.h30.08.06 14:04 Автор: amirul <Serge> Статус: The Elderman
> Проблема стоит у меня. Траблы с использованием функций > SetupDiGetClassDevs и SetupDiEnumDeviceInterfaces. Я никак > не могу решить какая больше виновата. Симптомы: вызываешь > первую - срабатывает, вызываешь вторую - > ERROR_NO_MORE_ITEMS. Вероятно дело в GUID. Я свой заполняю > так > GUID HidGuid = { > 0x745a17a0, > 0x74d3, > 0x11d0, > {0xb6,0xfe,0x00,0xa0,0xc9,0x0f,0x57,0xda} > };
Ну это GUID класса, как было верно замечено, а не интерфейса. Эти функции по определению не могут принимать одинаковый GUID. Скорее всего тебе нужен GUID_DEVINTERFACE_HID, определенный в hidclass.h
> Взял его с MSDN. Это установочный GUID класса для HID USB > устройств. Покопавшись по инету нашел вот это "Следует > различать GUID класса и установочный GUID класса, > использовать установочный GUID для обнаружения реальных > устройств нельзя." Возникает вопрос где взять этот самый не > установочный GUID.
Ни фига не понял, что такое установочный GUID, на различать таки следует. Есть GUID-ы классов, а есть GUID-ы интерфейсов (еще GUID-ы WMI-провайдров, COM-компонентов и пр..).
Был бы ты девушкой пацеловал бы ейбогу спасибо30.08.06 15:10 Автор: Мак Статус: Незарегистрированный пользователь