|
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 9
|
|
Получение пути монтирования по FILE_OBJECT21.05.2014, 13:31. Показов 2280. Ответов 9
Метки нет (Все метки)
Описание: Есть существующий FILE_OBJECT указывающий на файл, находящийся на USB флешке. Необходимо получить путь монтирования usb флешки. Пример пути монтирования - \\?\USB\VID_13FE&PID_4100\201212SP001407 0F2C7822AC9A13\{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Нахожусь на уровне ядра.
0
|
|
| 21.05.2014, 13:31 | |
|
Ответы с готовыми решениями:
9
Чтение данных файла (FILE_OBJECT) Получение пути к файлу процесса Получение пути к файлу из ODBC |
|
Ушел с форума
|
||
| 21.05.2014, 22:49 | ||
|
Второй вопрос - откуда Вы получили данный путь монтирования ?
0
|
||
|
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 9
|
||
| 22.05.2014, 09:49 [ТС] | ||
|
А есть ли разница откуда я получил я получил данный путь? Хотя я ничего не скрываю, так, что я его получил с уровня пользователя перехватив подключения usb устройства, фильтруя подключения данного класса устройств {a5dc bf10-6530-11d2-901f-00c04fb951ed} . Хотя я могу заблуждаться, что такой же путь монтирования присутствует на уровне ядра.
0
|
||
|
Ушел с форума
|
||||
| 22.05.2014, 21:13 | ||||
|
Какую задачу Вы пытаетесь решить ?
На символьную ссылку это не похоже, она бы выглядела так: "\\?\USBSTOR#disk&ven..." или так: "\\?\USB#VID_XXXX&PID_XXXX&...". Hardware id или device instance path начинались бы с "USBSTOR\...", поэтому тоже нет. И mount points, которые создаются mount manager-ом, тоже выглядят иначе: "Volume{GUID}". Так что же это за путь и каким конкретно способом он получен ?
IoGetRelatedDeviceObject получает DEVICE_OBJECT по FILE_OBJECT. IoGetDeviceInterfaces и IoRegisterPlugPlayNotification позволяют получить символьные ссылки для нужного device interface. PDO можно узнать либо в AddDevice, либо отправив в стек IRP_MJ_PNP с соответствующим подкодом, на OSR этот вопрос как-то обсуждался. У mount manager-а есть IOCTL_MOUNTMGR_QUERY_POINTS, выдающий по запросу список точек монтирования. Символьные ссылки разрешаются через ZwQuerySymbolicLinkObject. Найти объект драйвера можно через ObReferenceObjectByName. Ну и так далее. Вы только скажите, что за путь такой таинственный и для каких конкретно сверхзадач он потребовался.
0
|
||||
|
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 9
|
||||
| 23.05.2014, 16:16 [ТС] | ||||
|
0
|
||||
|
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 9
|
||||||
| 28.05.2014, 11:56 [ТС] | ||||||
|
Пробую получить PDO, по полученному DEVICE_OBJECT функцией IoGetRelatedDeviceObject, но при IoCallDriver вылетает BSOD. Я что-то делаю неправильно?
0
|
||||||
|
Ушел с форума
|
||
| 28.05.2014, 20:39 | ||
|
Кстати, Microsoft не рекомендует слать BusRelations. Вместо этого можете попробовать какой-нибудь IoGetDeviceAttachmentBaseRef. Функция возвращает указатель на нижний объект в стеке (обычно PDO). И еще я вижу, что Вы тут забываете кое-где ObDereferenceObject делать. Так нельзя, можно повесить стек устройства, а то и всю систему.
0
|
||
|
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 9
|
|
| 09.06.2014, 09:50 [ТС] | |
|
Если Вам не сложно, не могли бы Вы предоставить код функции, которая бы возвращала GUID подключённого устройства по PFILE_OBJECT. А то я чувствую, что эта эпопея на уровне ядра может затянуться ещё на неопределённое время. Буду очень Вам благодарен за это.
0
|
|
|
Ушел с форума
|
||
| 10.06.2014, 01:04 | ||
|
По документации, начинающейся здесь: File System Minifilter Drivers http://msdn.microsoft.com/en-u... 85%29.aspx ?
0
|
||
|
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 9
|
||
| 29.07.2014, 14:43 [ТС] | ||
|
0
|
||
| 29.07.2014, 14:43 | |
|
Помогаю со студенческими работами здесь
10
Получение пути к выбранной картинки Получение пути к папке Windows Получение пути к пользовательской директории Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|