Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2011, 23:15   #1
Master_Devel
 
Регистрация: 23.05.2011
Сообщений: 7
По умолчанию Как правильно получить дескриптор на устройство

Есть код:

const
SYSFILE = '\\.\USBSCAN0';

var
Buffer: array [0..1023] of CHAR;
BufSize: DWORD;
dwBytesReturned : DWord;

MyBool: boolean;

begin
if ScanListBox.Items.Count <> 0 Then
begin
f := CreateFile(SYSFILE, GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

MyBool := DeviceIoControl(f, IOCTL_GET_DEVICE_DESCRIPTOR, @Buffer, length(Buffer), @Buffer, length(Buffer), dwBytesReturned, nil);
CloseHandle(f);
end;

Может кто подсказать, как правильно сформировать инструкцию IOCTL_GET_DEVICE_DESCRIPTOR? И правильно записать DeviceIoControl ...
Master_Devel вне форума Ответить с цитированием
Старый 24.05.2011, 23:41   #2
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx

В случае, IOCTL_GET_USB_DESCRIPTOR на вход DeviceIoControl нужно передать правильно инициализированный USBSCAN_GET_DESCRIPTOR. А на выход поставить буфер котрый вместит требуемый дескриптор.

DeviceIoControl(HANDLE,код,вход,раз мер,выход,размер,размер,OVERLAPPED)

про дескрипторы можно почитать в спецификациях стандарта http://www.usb.org/developers/docs/
f.hump вне форума Ответить с цитированием
Старый 24.05.2011, 23:54   #3
Master_Devel
 
Регистрация: 23.05.2011
Сообщений: 7
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx

В случае, IOCTL_GET_USB_DESCRIPTOR на вход DeviceIoControl нужно передать правильно инициализированный USBSCAN_GET_DESCRIPTOR. А на выход поставить буфер котрый вместит требуемый дескриптор.

DeviceIoControl(HANDLE,код,вход,раз мер,выход,размер,размер,OVERLAPPED)

про дескрипторы можно почитать в спецификациях стандарта http://www.usb.org/developers/docs/
Если можно, какой нить пример. А то у меня уже крыша слетает от этих дескрипторов. Я сам, как говорят "формошлеп". Низкий уровень понадобился только для узкой задачи.
Мне лучше на примере объяснить, если не затруднит. Мне легче так логику схватить того, что Вы говорите ...
Master_Devel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Oracle+PHP как правильно получить значение Nexta_s PHP 1 03.03.2011 16:26
Получить дескриптор дочернего окна Crudelis Win Api 1 15.10.2010 21:45
Получить Handle TEdit'a, зная дескриптор родительского окна Cold_Night Win Api 2 13.02.2009 16:47
как получить дескриптор приложения в C#? fiatik Общие вопросы .NET 1 08.11.2008 08:18