device/harddiskvolume3/config.cfg To E:\config.cfg

Тема в разделе "WASM.NT.KERNEL", создана пользователем skyproc, 11 дек 2011.

  1. skyproc

    skyproc New Member

    Публикаций:
    0
    Регистрация:
    4 май 2007
    Сообщения:
    217
    В ядре получаю путь к файлу и надо его передать приложению user mode.
    Как конвертировать device/harddiskvolume3/config.cfg в человеческий вид E:\config.cfg
    ???
    Это случай простой и в ручную можно но если нужный файл к примеру на флешке то там ваще абракадабра.
    device/harddisk1/DP(1)0-0+12/config.cfg
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Я сам не пробовал, но, думаю, должна помочь ф-ия IoVolumeDeviceToDosName. При наличии HANDLE'а на файл можно получить ссылку FILE_OBJECT, затем с помощью IoGetRelatedDeviceObject получить DEVICE_OBJECT файловой системы. Я не очень понял, что требует IoVolumeDeviceToDosName -- DO файловой системы или DO тома. IoGetRelatedDeviceObject вернет DO файловой системы, чтобы получить DO тома, надо вызвать IoGetDiskDeviceObject.

    P.S. Сам не проверял, но должно работать. И может кто-то предложит более простой способ...
     
  3. skyproc

    skyproc New Member

    Публикаций:
    0
    Регистрация:
    4 май 2007
    Сообщения:
    217
    Спасибо будем ковырять
     
  4. T800

    T800 Member

    Публикаций:
    0
    Регистрация:
    7 дек 2006
    Сообщения:
    293
    Адрес:
    Moscow
    skyproc
    В блоге товарища x64 есть описание ( http://x64.blog.ru )