Текущий архив: 2008.09.07;
Скачать: CL | DM;
Вниз
Flash USB Найти похожие ветки
← →
Новый_ (2007-11-20 16:51) [0]Нужно написать сервис который бы определял, какие карты памяти, а в частности Flash USB, использовались на компьютаре. Как можно сделать.?
Может есть где почитать на счет этого.?
← →
Rouse_ © (2007-11-20 16:53) [1]SetupDiGetClassDevsExA + DIGCF_ALLCLASSES
← →
Новый_ (2007-11-20 17:01) [2]
> Rouse_ © (20.11.07 16:53) [1]
Я глубоко извеняюсь! Ну можно хоть может какието исходники есть...
Может в кладовке или еще где.. Просто я искал так нечего и не нашел...
← →
Rouse_ © (2007-11-20 17:37) [3]На вот демку не законченную: http://rouse.drkb.ru/tmp/devlist.zip
← →
guav © (2007-11-20 18:28) [4]> [3] Rouse_ © (20.11.07 17:37)
Может ли имя диска в Device CreateFile name использоватся вместо \\.\PhysicalDisk0 ? И, если да, то как его использовать ?
← →
Riply © (2007-11-20 18:32) [5]> [3] Rouse_ © (20.11.07 17:37)
> На вот демку не законченную: http://rouse.drkb.ru/tmp/devlist.zip
Ты всегда очень тонко чуствовал насущные проблеммы сообщества :)
Спасибо :)
← →
Rouse_ © (2007-11-20 18:35) [6]
> И, если да, то как его использовать ?
Через ZwCreateFile()
← →
Rouse_ © (2007-11-20 18:36) [7]
> Ты всегда очень тонко чуствовал насущные проблеммы сообщества :)
Да это вообще только каркас будующей утилитки, по работе тут для отдела техподдержки понадобилось сделать, да все времени долепить ее не хватает :)
← →
guav © (2007-11-20 18:37) [8]> [6] Rouse_ © (20.11.07 18:35)
Т.е. через обычный CreateFile синтаксиса нет ?
← →
Rouse_ © (2007-11-20 18:38) [9]
> через обычный CreateFile синтаксиса нет ?
Нет, ибо там проверка идет на соответствие имени...
← →
guav © (2007-11-20 18:47) [10]А как бы тогда получить пути вида \\.\PhysicalDisk0 через SetupDi ?
← →
Rouse_ © (2007-11-20 20:40) [11]А чем QueryDosDevice не устраивает? :)
← →
guav © (2007-11-21 10:55) [12]Я не понял, как QueryDosDevice может мне помочь в этом случае.
← →
Rouse_ © (2007-11-21 11:19) [13]QueryDosDevice("PhysicalDrive0"#0, @S[1], MAX_PATH);
S будет равно значению "Device CreateFile Name".
← →
guav © (2007-11-21 12:17) [14]> [13] Rouse_ © (21.11.07 11:19)
Ага, понятно, но не то :)
Я просто хотел избежать вызова NtCreateFile/NtOpenFile, но, видимо, не получится.
Спасибо за помощь.
← →
Rouse_ © (2007-11-21 12:53) [15]
> Я просто хотел избежать вызова NtCreateFile/NtOpenFile,
> но, видимо, не получится.
PhysicalDrive0 это символьная ссылка, можешь написать код который будет получать символьные ссылки на объект. Смотри в сторону ZwQueryDirectoryObject и ZwQuerySymbolicLinkObject
← →
DrPass © (2007-11-21 18:51) [16]
> Нужно написать сервис который бы определял, какие карты
> памяти, а в частности Flash USB, использовались на компьютаре.
> Как можно сделать.?
А нужен именно сервис? Может, достаточно будет включить отображение отсутствующих девайсов, и банально посмотреть в Диспетчере устройств?
← →
Rouse_ © (2007-11-21 19:44) [17]
> Может, достаточно будет включить отображение отсутствующих
> девайсов, и банально посмотреть в Диспетчере устройств?
А с каких пор диспетчер устройств стал предоставлять такой сервис? Он отображает AFAIK подключенные устройства, а также может отобразить устройства со статусом "Скрытое"
← →
DrPass © (2007-11-26 17:30) [18]
> Rouse_ © (21.11.07 19:44) [17]
> А с каких пор диспетчер устройств стал предоставлять такой
> сервис?
Со времен своего создания. Достаточно добавить в окружение DEVMGR_SHOW_NONPRESENT_DEVICES=1
← →
Rouse_ © (2007-11-26 17:43) [19]
> Достаточно добавить в окружение DEVMGR_SHOW_NONPRESENT_DEVICES=1
Угу, ясно... Про этот ключик не знал, верю на слово, бо лень машину перегружать :)
Страницы: 1 вся ветка
Текущий архив: 2008.09.07;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.014 c