Дескриптор Windows для портативного устройства

Кто-нибудь знает, как получить дескриптор файла (например, через CreateFile()) на «портативное устройство»? Если это возможно? Например, что возможно для букв дисков (например, "\\.\c:") и физических дисков (например, "\\.\PhysicalDrive0").

Под портативными устройствами я подразумеваю смартфоны, устройства GPS и т. д., которые можно подключить к системе через USB. Windows показывает портативное устройство, откуда вы можете (например) получить доступ к внутренней памяти или SD-карте.

Я хотел бы, если это возможно, напрямую обращаться к SD-карте или другой памяти внутри «портативного устройства», чтобы я мог выполнять чтение файлов данных.

Возможно ли это, и если да, то как?


person Peter    schedule 04.08.2013    source источник
comment
Многие из этих портативных устройств являются устройствами MTP, где у вас нет прямого доступа к файловой системе устройства, но вы должны пройти что-то вроде SDK диспетчера устройств Windows Media или аналогичный.   -  person Hasturkun    schedule 04.08.2013
comment
@Hasturkun Спасибо. Хммм... это не то, на что я надеялся (но тогда, это когда-нибудь? ;) Из быстрого сканирования я не думаю, что получу необработанный доступ к устройству, что мне и нужно, поскольку я интерпретирую файл -систему (например, FAT) сам.   -  person Peter    schedule 04.08.2013
comment
С другой стороны, многие съемные устройства предоставляют доступ к своим файловым системам с помощью сопоставленных букв дисков, поэтому вам не нужен низкоуровневый доступ к их оборудованию. Таким образом, вы можете получить доступ к их файлам с помощью обычных процедур файлового ввода-вывода, не заботясь о том, что они являются съемными системами.   -  person Remy Lebeau    schedule 04.08.2013
comment
Спасибо @RemyLebeau. Однако по моему опыту все устройства, перечисленные в разделе «Портативные устройства» в проводнике Windows, не имеют буквы диска. Например, если я подключаю свой смартфон или GPS через USB с помощью W7, они отображаются в списке портативных устройств, и когда я нажимаю на них, я вижу (например, на смартфоне) два диска, один из которых является встроенной (флэш-память), а другой одна карта micro SD. У обоих нет буквы диска, и они также недоступны через PhysicalDrive.   -  person Peter    schedule 05.08.2013
comment
Когда я подключаю различные смартфоны моей семьи к нашим машинам с Win7, проводник Windows отображает новые буквы дисков для доступа к содержимому внутренних файловых систем смартфонов и SD-карт. Очевидно, что они не являются физическими дисками, подключенными к компьютерам с Windows, но им назначены буквы дисков. Да, виртуальным дискам на внешних устройствах могут быть назначены буквы дисков. Это действительно зависит от конкретных драйверов, используемых для этих устройств. Не все производители предоставляют Windows таким образом свои устройства, но некоторые делают это.   -  person Remy Lebeau    schedule 05.08.2013
comment
Предположим на секунду, что я дал вам ручку. Ради аргумента назовем его \\.\SmartPhone1. Что бы вы сделали с ним?   -  person MSalters    schedule 05.08.2013
comment
@RemyLebeau. Понимаю. Ну, мой самсунг с3 так не выставляется, мой старый телефон Нокиа (обычный) ни то, ни мой gps. Так что действительно это зависит от устройства и особенно от того, с какими драйверами оно поставляется. Это также означает, что многие люди не имеют прямого доступа к дискам с моим программным обеспечением.   -  person Peter    schedule 05.08.2013
comment
@MSalters. Я бы сделал файловый ввод-вывод с ним. Чтение данных и интерпретация данных, анализ файловой системы FAT и доступ к файлам на устройстве.   -  person Peter    schedule 05.08.2013
comment
@Peter: Для этого вам нужно больше, чем просто имя, вам нужен объект физического диска. Не вдаваясь в подробности, проверьте мой патент в этой области. Даже в лучшем случае, когда он выглядит как файловая система FAT, это может быть не так. А с MTP или ActiveSync вы просто не сможете определить файловую систему.   -  person MSalters    schedule 05.08.2013
comment
@MSalters. Для меня это не обязательно должно быть FAT, но если это что-то другое, имитирующее FAT (например), то это тоже не совсем то, что мне нужно. Я хотел бы получить доступ к необработанным данным, НАСТОЯЩИМ данным. Например, для восстановления данных. В худшем случае мне даже не нужна файловая система.   -  person Peter    schedule 05.08.2013
comment
@Peter: На устройстве, которое я запатентовал, это было бы вообще неэффективно. То же самое для МТП. Устройство MTP может на лету преобразовывать необработанные изображения в JPEG. Что именно, по вашему мнению, вы могли там восстановить? Вы никогда не увидите необработанные изображения на его внутреннем диске. И попытка восстановить внутреннюю файловую систему, которую вы не понимаете, переформатировав ее в FAT, уничтожит многие устройства.   -  person MSalters    schedule 05.08.2013
comment
@MSalters. Я бы никогда не написал (следовательно, возможно, уничтожил) изображение, но я надеялся получить прямой и необработанный доступ к медиа. Во многих случаях это съемные SD-карты, отформатированные в FAT. Конечно, последний можно снять и вставить в картридер, и тогда вообще никаких проблем. Но я полагаю, я наивно думал или надеялся, что внутренняя флэш-память будет управляться аналогичным образом, чтобы облегчить работу устройства. например, множество jpg, хранящихся во внутренней флэш-памяти моего Samsung.   -  person Peter    schedule 05.08.2013
comment
У меня мало знаний о таких устройствах, но все начинает проясняться. Я только что прочитал о MTP ( en.wikipedia.org/wiki/Media_Transfer_Protocol). Я, например, вообще не думал о DRM и понимаю, почему в этом случае может использоваться MTP. Тем не менее ... было бы неплохо иметь прямой доступ к внутренней флэш-памяти, чтобы прочитать ее и, возможно, найти там jpg и т. Д. :)   -  person Peter    schedule 05.08.2013


Ответы (1)


Судя по комментариям к моему вопросу, ответ на мой вопрос НЕТ. Вы не можете получить доступ к портативным устройствам. По крайней мере, не так, как и для чего я этого хочу.

Если только драйвер(ы) не раскрывает внутреннюю память и/или диск(и) через букву(ы) диска, но даже в этом случае вы не можете быть уверены, что получите настоящий необработанный доступ к устройству, поскольку драйверы могут имитировать данные, чтобы одна файловая система выглядела как другая.

person Peter    schedule 06.08.2013