![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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