Определить по handle файла полный путь в ядре

Тема в разделе "WASM.WIN32", создана пользователем 0leg, 2 сен 2006.

Статус темы:
Закрыта.
  1. 0leg

    0leg New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2006
    Сообщения:
    20
    Проблема в том, что функцией ZwQueryInformationFile удается получить только путь к файлу, но не имя раздела на котором лежит файл. Как можно получить какой-нибудь <идентификатор> диска (X: или \Device\HarddiskVolumeXX или хотя бы серийник/метку) по хэндлу? Пробовал использовать NtQueryObject с параметром ObjectNameInformation, но возвращается STATUS_ACCESS_VIOLATION. Вызов NtQueryVolumeInformationFile дает тот же результат.

    Если коротко, то как можно по handle файла получить полный путь к нему, включая имя диска на котором он находится? Или хотя бы этот "идентификатор" диска?

    Может кто-нибудь сталкивался с такой проблемой, помогите пожалуйста.
     
  2. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    Для определения я юзал ObReferenceObjectByHandle и ObQueryNameString
     
  3. 0leg

    0leg New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2006
    Сообщения:
    20
    MegaZu, большое Спасибо!
    К ObReferenceObjectByHandle я и раньше приглядывался, а вот насчет ObQueryNameString у меня никакой информации не было - даже не знал о ее существовании. Еще раз Спасибо!
    Тему можно считать закрытой.
     
Статус темы:
Закрыта.