Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Определение USB устройств  (Прочитано 6811 раз)
0 Пользователей и 1 Гость смотрят эту тему.
cooler
Участник

ru
Offline Offline
Пол: Мужской

« : 24-04-2007 13:09 » 

Есть код:
Код: (C++)
  .......
  SP_DEVICE_INTERFACE_DATA dev;
  GUID guid;
  int index=0;
 
  ZeroMemory(&dev,sizeof(SP_DEVICE_INTERFACE_DATA));

  //получаем глобальный идентификатор для всех устройств USB
  HidD_GetHidGuid(&guid);

  //получаем инфу для всех устройств
  hInfo=SetupDiGetClassDevs(&guid,NULL,NULL,DIGCF_INTERFACEDEVICE | DIGCF_PRESENT);
  if(hInfo==INVALID_HANDLE_VALUE) return;

  dev.cbSize=sizeof(SP_DEVICE_INTERFACE_DATA );
  //перебираем устройства
  do
  {
     //получаем инфу об интерфейсе устройства
     result=SetupDiEnumDeviceInterfaces(hInfo,0,&guid,index,&dev); //<---- здесь сразу же  возвращается 0!!!!
     ........
  }while(......);
 

guid определяется,hInfo тоже

Что неправильно?
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 08-05-2007 07:42 » 

DIGCF_DEVICEINTERFACE
А НЕ DIGCF_INTERFACEDEVICE?)))
хм...
//
// Backward compatibility--do not use.
//
#define DIGCF_INTERFACEDEVICE DIGCF_DEVICEINTERFACE

да вроде по примерам все верно...
может просто нет такого?)
« Последнее редактирование: 08-05-2007 07:55 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
EDDI
Гость
« Ответ #2 : 05-01-2008 22:09 » 

не правильно и все
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 06-01-2008 14:31 » 

DDK:
SetupDiEnumDeviceInterfaces returns TRUE if the function completed without error. If the function completed with an error, FALSE is returned and the error code for the failure can be retrieved by calling GetLastError.

что GetLastError возвращает?
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines