|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Премер исходника для работы с USB портом, но только опрос портов.
В прикрепленных файлах лежит пример опроса USB на наличие устройств.
Никак немогу найти код для оключения порта, хотелось бы что то типа // Отображение информации о порте procedure TForm1.ShowHubPortDetail(hRoot : THandle; iPort : Integer); var Success : LongBool; NodeConnInfo : TNodeConnectionInformation; BytesReturned : Cardinal; PortStatus : Byte; begin NodeConnInfo.ConnectionIndex:= iPort+1; // нумерация с 1! // IOCTL_USB_GET_NODE_CONNECTION_INFORMATION Success:= DeviceIoControl(hRoot, GetUSBCtlCode(4), @NodeConnInfo, sizeof(NodeConnInfo), @NodeConnInfo, sizeof(NodeConnInfo), BytesReturned, nil ); If not(Success) then begin Log(' Ошибка получения информации о порте'); Exit; End; PortStatus:= NodeConnInfo.ConnectionStatus[1]; If (PortStatus <> Byte(DeviceConnected)) then begin If (PortStatus = Byte(NoDeviceConnected)) then begin Log(Format(' К порту %d устройств не подключено',[iPort])); End else begin Log(Format(' Состояние порта %d = %d',[iPort, Byte(PortStatus)])); End; End else begin If not(NodeConnInfo.DeviceIsHub) then begin Log(Format(' К порту %d подключено устройство', [iPort])); ShowDeviceDetail(hRoot, iPort); End else begin Log(Format(' К порту %d подключен хаб', [iPort])); // послать IOCTL_USB_GET_NODE_CONNECTION_NAME // получить дескриптор хаба и повторить операцию для // каждого порта этого хаба // рекурсия: ShowRootHubDetail(hRoot : THandle); End; End; end; http://msdn2.microsoft.com/en-us/library/aa476228.aspx справка по USB вобщем нужно отключить устройство через DeviceIoControl( например USB#ROOT_HUB#4&39633dbc&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} ), но как заполнять DeviceIoControl( я незнаю. F1 справка ничего по нему не находит но даже если будет документация понему, это не сильно поможет, DeviceIoControl требует указания каких то буферов чтения, их размеров адресов. P.S. забил прекрипить проект Последний раз редактировалось Алексей1980, 26.03.2007 в 00:48. |