Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
2-1217343723
Vikindos
2008-07-29 19:02
2008.09.07
2 просесса в одном приложении


15-1215881130
Guest
2008-07-12 20:45
2008.09.07
В чём ошибка?


15-1216278139
vajo
2008-07-17 11:02
2008.09.07
Вопрос по обновлению конфигурации 1с8.1.


2-1217169031
AlexanderMS
2008-07-27 18:30
2008.09.07
Процедура, вызываемая при ошибке в программе.


15-1216216618
Loginov Dmitry
2008-07-16 17:56
2008.09.07
Задачка