![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
artem1987 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 18.7.2006 Где: Калининград Репутация: нет Всего: нет |
я получил дерево юсб устройств моего компа(хосты, хабы, флэшки)
и могу получить данные дескрипторов (строки интерфейса...) каждого из узлов подскажите пожалуйста. как мне связать дескриптор флэшки с её буквой. спасибо --------------------
Don't ask me why, ask me how. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
Сложный вопрос.
Не совсем всё ясно... Вообще дескрипторы дисков хранятся тут: HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices Но у тебя, судя по всему другие дескрипторы, которые вряд ли ассоциируются с диском... |
|||
|
||||
artem1987 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 18.7.2006 Где: Калининград Репутация: нет Всего: нет |
начиная от мышки заканчивая кардридером, у всех они есть
и этих дескрипторов несколько устройства, строки, интерфейса,конечной точки, там какраз и содержится информация об устройстве, в частности о флэш карте. но не всегда эта инфа в реестре есть, по-моему. так вот есть существуют специальнае запросы и бла, бла.... короче хост контроллер узнает что подключилась флэшка, и по идее ось присваивает логическому диску букву ...DOS имя(ежели не ошибаюс) по этой букве можно получить хэндл устройства для драйвера файловой системы и узнать его геометрию, но вот как получить хэндл по которому можно направить запрос IOCTL_GET_USB_DESCRIPTOR не по номеру порта хаба, а по букве ...вопрос!!! --------------------
Don't ask me why, ask me how. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
У мыши нет буквы диска
![]() А дескриптор естественно есть, тут я не спорю. Ну а где ж ещё винде хранить информацию? Если есть устройство, оно прописывается.
При подключении флэшдрайва, никакой буквы диска не присваивается... Инициируется процедура опознания, определения, инициализации и т.п. Буковка присваивается уже после того, когда всё определено и готово к работе. А это может достигать 0.01-15 секунд. В это время нет никакой буквы диска. Более того. Флэшка - это дисковый накопитель. Например, мы заформатили флэшку в ReiserFS. Винда его не видит. А устройство есть. А буквы нет... Другой пример. Кардридер 7-in-1 - устройство одно, а букав 4... Прямой связи нет... А может эта буква - вообще не USB устройство... вопрос... |
|||
|
||||
artem1987 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 18.7.2006 Где: Калининград Репутация: нет Всего: нет |
там в реестре какаято левая инфа, все дескрипторы там не прописываются, факт, но коечто полезное типа строки vid_xxxx&pid_xxxx можно найти, хотя у моей флэшки тамчисел нет,
с кардридером ваще лажа он определяется как хаб, но на его порты послать запрос гет дескриптор не можно, эти ммс и др карточки чё дескрипторов не имеют, я понял, что вы склоняетесь к мысли, что с буквой дескриптор связать нельзя? у меня пока получилось одно : получить хэндл хаба и потом на порт номера эн посылать запрос дескриптора. получив хэндл устройства по букве(CreateFile(\\.\J:)) могу лишь узнать геометрию диска, при запросе дескриптора выдает ошибку...The operation completed succesfully??? есть мысли? --------------------
Don't ask me why, ask me how. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
про букву надо у винды спрашивать , а не у устройства
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
artem1987 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 18.7.2006 Где: Калининград Репутация: нет Всего: нет |
правильно, но нумерация юсб устройств по dos именам , и нумерация юсб устройств физически по моему не связаны.в первом сл мы берем все устройства и по гуиду ищем те что юсб. а во 2м случае мы получаем хэндл каждого хост контроллера, и затем по дереву подкл к нему устройств опускаемся к нужному узлу, так вот как во втором случае получить дескриптор я ещё могу но как его получить из винду не имею представления, подскажите!!!
--------------------
Don't ask me why, ask me how. |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
есть мысли. Но чтобы я мог попробовать, покажи плиз как ты делаешь без буквы -------------------- Обижено школьников: 8 |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
ты сам понял что сказал?
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
Romikgy, если ты это мне, то я имелл ввиду, что хотелось бы увидеть это
-------------------- Обижено школьников: 8 |
|||
|
||||
artem1987 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 18.7.2006 Где: Калининград Репутация: нет Всего: нет |
уточни, что я сказал не понятного?
--------------------
Don't ask me why, ask me how. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
bems, не автору,
когда писал я мессагу , твоей еще не было ![]() Добавлено @ 13:47 artem1987, 2 случай я вообще ничего не понял -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
artem1987 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 18.7.2006 Где: Калининград Репутация: нет Всего: нет |
там очень громоздкий код, сюда выкладывать или отправить куда? --------------------
Don't ask me why, ask me how. |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
artem1987, сюда кидай
-------------------- Обижено школьников: 8 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
В реестре прописан бинарный GUID из файловой системы.
Связать конечно можно, но это далеко неоднозначно. По идее должна быть возможность ассоциации логического и физического устройства. Я правда не знаю как. Но уверен, что можно... ЗЫ. На флэшдрайве может быть несколько дисков. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |