Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Flash USB


Новый_ ©   (2007-11-20 16:51:00) 

Нужно написать сервис который бы определял, какие карты памяти, а в частности Flash USB, использовались на компьютаре. Как можно сделать.?
Может есть где почитать на счет этого.?


Rouse_   (2007-11-26 17:43:00) [1]


> Достаточно добавить в окружение DEVMGR_SHOW_NONPRESENT_DEVICES=1

Угу, ясно... Про этот ключик не знал, верю на слово, бо лень машину перегружать :)


DrPass   (2007-11-26 17:30:00) [2]


> Rouse_ ©   (21.11.07 19:44) [17]


> А с каких пор диспетчер устройств стал предоставлять такой
> сервис?

Со времен своего создания. Достаточно добавить в окружение DEVMGR_SHOW_NONPRESENT_DEVICES=1


Rouse_   (2007-11-21 19:44:00) [3]


> Может, достаточно будет включить отображение отсутствующих
> девайсов, и банально посмотреть в Диспетчере устройств?

А с каких пор диспетчер устройств стал предоставлять такой сервис? Он отображает AFAIK подключенные устройства, а также может отобразить устройства со статусом "Скрытое"


DrPass   (2007-11-21 18:51:00) [4]


> Нужно написать сервис который бы определял, какие карты
> памяти, а в частности Flash USB, использовались на компьютаре.
>  Как можно сделать.?

А нужен именно сервис? Может, достаточно будет включить отображение отсутствующих девайсов, и банально посмотреть в Диспетчере устройств?


Rouse_   (2007-11-21 12:53:00) [5]


> Я просто хотел избежать вызова NtCreateFile/NtOpenFile,
> но, видимо, не получится.

PhysicalDrive0 это символьная ссылка, можешь написать код который будет получать символьные ссылки на объект. Смотри в сторону ZwQueryDirectoryObject и ZwQuerySymbolicLinkObject


guav   (2007-11-21 12:17:00) [6]

> [13] Rouse_ ©   (21.11.07 11:19)

Ага, понятно, но не то :)
Я просто хотел избежать вызова NtCreateFile/NtOpenFile, но, видимо, не получится.
Спасибо за помощь.


Rouse_   (2007-11-21 11:19:00) [7]

QueryDosDevice('PhysicalDrive0'#0, @S[1], MAX_PATH);
S будет равно значению "Device CreateFile Name".


guav   (2007-11-21 10:55:00) [8]

Я не понял, как QueryDosDevice может мне помочь в этом случае.


Rouse_   (2007-11-20 20:40:00) [9]

А чем QueryDosDevice не устраивает? :)


guav   (2007-11-20 18:47:00) [10]

А как бы тогда получить пути вида \\.\PhysicalDisk0 через SetupDi ?


Rouse_   (2007-11-20 18:38:00) [11]


> через обычный CreateFile синтаксиса нет ?

Нет, ибо там проверка идет на соответствие имени...


guav   (2007-11-20 18:37:00) [12]

> [6] Rouse_ ©   (20.11.07 18:35)

Т.е. через обычный CreateFile синтаксиса нет ?


Rouse_   (2007-11-20 18:36:00) [13]


> Ты всегда очень тонко чуствовал насущные проблеммы сообщества :)

Да это вообще только каркас будующей утилитки, по работе тут для отдела техподдержки понадобилось сделать, да все времени долепить ее не хватает :)


Rouse_   (2007-11-20 18:35:00) [14]


> И, если да, то как его использовать ?

Через ZwCreateFile()


Riply   (2007-11-20 18:32:00) [15]

> [3] Rouse_ ©   (20.11.07 17:37)
> На вот демку не законченную: http://rouse.drkb.ru/tmp/devlist.zip

Ты всегда очень тонко чуствовал насущные проблеммы сообщества :)
Спасибо :)


guav   (2007-11-20 18:28:00) [16]

> [3] Rouse_ ©   (20.11.07 17:37)

Может ли имя диска в Device CreateFile name использоватся вместо \\.\PhysicalDisk0 ? И, если да, то как его использовать ?


Rouse_   (2007-11-20 17:37:00) [17]

На вот демку не законченную: http://rouse.drkb.ru/tmp/devlist.zip


Новый_   (2007-11-20 17:01:00) [18]


> Rouse_ ©   (20.11.07 16:53) [1]

Я глубоко извеняюсь! Ну можно хоть может какието исходники есть...
Может в кладовке или еще где.. Просто я искал так нечего и не нашел...


Rouse_   (2007-11-20 16:53:00) [19]

SetupDiGetClassDevsExA + DIGCF_ALLCLASSES


Наверх

Титульная страница Поиск, карта сайта Написать письмо