Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> usb mass storage descriptor, связь буквы и дескриптора 
:(
    Опции темы
artem1987
Дата 8.8.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



я получил дерево юсб устройств моего компа(хосты, хабы, флэшки)
и могу получить данные дескрипторов (строки интерфейса...) каждого из узлов
подскажите пожалуйста. как мне связать дескриптор флэшки с её буквой.
спасибо
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Snowy
Дата 8.8.2006, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 30
Всего: 484



Сложный вопрос.
Не совсем всё ясно...
Вообще дескрипторы дисков хранятся тут: HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
Но у тебя, судя по всему другие дескрипторы, которые вряд ли ассоциируются с диском...
PM MAIL   Вверх
artem1987
Дата 8.8.2006, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



начиная от мышки заканчивая кардридером, у всех они есть
и этих дескрипторов несколько
устройства, строки, интерфейса,конечной точки,
там какраз и содержится информация об устройстве, в частности о флэш карте.
но не всегда эта инфа в реестре есть, по-моему.
так вот есть существуют специальнае запросы и бла, бла....
короче хост контроллер узнает что подключилась флэшка,
и по идее ось присваивает логическому диску букву ...DOS имя(ежели не ошибаюс)
по этой букве можно получить хэндл устройства для драйвера файловой системы и узнать его геометрию,
но вот как получить хэндл по которому можно направить запрос IOCTL_GET_USB_DESCRIPTOR
не по номеру порта хаба, а по букве ...вопрос!!!

--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Snowy
Дата 9.8.2006, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 30
Всего: 484



Цитата(artem1987 @  8.8.2006,  18:31 Найти цитируемый пост)
начиная от мышки заканчивая кардридером, у всех они есть
У мыши нет буквы диска smile
А дескриптор естественно есть, тут я не спорю.

Цитата(artem1987 @  8.8.2006,  18:31 Найти цитируемый пост)
но не всегда эта инфа в реестре есть, по-моему.
Ну а где ж ещё винде хранить информацию?
Если есть устройство, оно прописывается.

Цитата(artem1987 @  8.8.2006,  18:31 Найти цитируемый пост)
короче хост контроллер узнает что подключилась флэшка,и по идее ось присваивает логическому диску букву ...DOS имя
А вот тут маленький ньюанс...
При подключении флэшдрайва, никакой буквы диска не присваивается...
Инициируется процедура опознания, определения, инициализации и т.п.
Буковка присваивается уже после того, когда всё определено и готово к работе.
А это может достигать 0.01-15 секунд. В это время нет никакой буквы диска.
Более того. Флэшка - это дисковый накопитель.
Например, мы заформатили флэшку в ReiserFS. Винда его не видит. А устройство есть. А буквы нет...
Другой пример. Кардридер 7-in-1 - устройство одно, а букав 4...
Прямой связи нет...
А может эта буква - вообще не USB устройство...
вопрос...
PM MAIL   Вверх
artem1987
Дата 9.8.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



там в реестре какаято левая инфа, все дескрипторы там не прописываются, факт, но коечто полезное типа строки vid_xxxx&pid_xxxx можно найти, хотя у моей флэшки тамчисел нет,
с кардридером ваще лажа он определяется как хаб, но на его порты послать запрос гет дескриптор не можно, эти ммс и др карточки чё дескрипторов не имеют,
я понял, что вы склоняетесь к мысли, что с буквой дескриптор связать нельзя?
у меня пока получилось одно : получить хэндл хаба и потом на порт номера эн посылать запрос дескриптора.
получив хэндл устройства по букве(CreateFile(\\.\J:)) могу лишь узнать геометрию диска, при запросе дескриптора выдает ошибку...The operation completed succesfully???
есть мысли?
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Romikgy
Дата 9.8.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



про букву надо у винды спрашивать , а не у устройства


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
artem1987
Дата 9.8.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



правильно, но нумерация юсб устройств по dos именам , и нумерация юсб устройств физически по моему не связаны.в первом сл мы берем  все устройства и по гуиду ищем те что юсб. а во 2м случае мы получаем хэндл каждого хост контроллера, и затем по дереву подкл к нему устройств опускаемся к нужному узлу, так вот как во втором случае получить дескриптор я ещё могу но как его получить из винду не имею представления, подскажите!!!
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
bems
Дата 9.8.2006, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 21
Всего: 88



Цитата(artem1987 @  8.8.2006,  18:31 Найти цитируемый пост)
но вот как получить хэндл по которому можно направить запрос IOCTL_GET_USB_DESCRIPTOR
не по номеру порта хаба, а по букве ...вопрос!!!

есть мысли. Но чтобы я мог попробовать, покажи плиз как ты делаешь без буквы


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Romikgy
Дата 9.8.2006, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



ты сам понял что сказал?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
bems
Дата 9.8.2006, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 21
Всего: 88



Romikgy, если ты это мне, то я имелл ввиду, что хотелось бы увидеть это
Цитата(artem1987 @  8.8.2006,  16:51 Найти цитируемый пост)
я получил дерево юсб устройств моего компа(хосты, хабы, флэшки)
и могу получить данные дескрипторов (строки интерфейса...) каждого из узлов




--------------------
Обижено школьников: 8
PM MAIL   Вверх
artem1987
Дата 9.8.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



уточни, что я сказал не понятного?
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Romikgy
Дата 9.8.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



bems, не автору, 
когда писал я мессагу , твоей еще не было smile

Добавлено @ 13:47 
artem1987, 2 случай я вообще ничего не понял


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
artem1987
Дата 9.8.2006, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



Цитата

есть мысли. Но чтобы я мог попробовать, покажи плиз как ты делаешь без буквы

там очень громоздкий код, сюда выкладывать или отправить куда?
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
bems
Дата 9.8.2006, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 21
Всего: 88



artem1987, сюда кидай



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Snowy
Дата 9.8.2006, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 30
Всего: 484



В реестре прописан бинарный GUID из файловой системы.
Связать конечно можно, но это далеко неоднозначно.
По идее должна быть возможность ассоциации логического и физического устройства.
Я правда не знаю как. Но уверен, что можно...
ЗЫ. На флэшдрайве может быть несколько дисков.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1053 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.