Управление электрическими цепями через USB

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить
ESWANT
Встал на лапы
Сообщения: 98
Зарегистрирован: Пн дек 06, 2010 12:26:45

Управление электрическими цепями через USB

Сообщение ESWANT »

Здравствуйте!
Хочу заиспользовать это: http://radiokot.ru/konkursCatDay2014/15/

Вопросы в комментариях в коде, ответьте, пжалуста, кто в курсе работы с HID.dll

Код: Выделить всё

//это внутри hidlibrary.h - обертки над HID.dll
template<typename T> int HIDLibrary<T>::ReceiveData(T* data)
{
char vpath[datasize+16];//для чего выделять размер строки на 16 байт больше чем размер структуры с полезными данными?
memset(vpath,0,sizeof(vpath));

int len=datasize+1; //и тогда почему читаем всего на 1 байт больше ?

	HANDLE h = CreateFile(m_ConnectedDevice.c_str(),GENERIC_READ,0,0,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0);
   if(h != INVALID_HANDLE_VALUE)
   {
		int err = HidD_GetFeature(h, vpath , len);
		memcpy(data,vpath+1,datasize);//зачем пропускаем первый полученный байт?
		CloseHandle(h);
		return err;
   }
   else
		return 0;
}
Реклама
Ответить

Вернуться в «Статьи»