Обход дерева устройств

Тема в разделе "WASM.NT.KERNEL", создана пользователем sherlog, 21 июн 2010.

  1. sherlog

    sherlog New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2010
    Сообщения:
    4
    Всем здравствуйте.

    Посоветуйте, как лучше обойти дерево устройств из режима ядра.
    Пройтись по devnode это конечно можно, но ведь ядро ходит по ним, захватывая соответствующие блокировки, которые простым людям недоступны. А если не блокировать devnode, то можно и page fault получить.
    Какая функция ядра будет вызвана первой, если из юзермода вызывается, например CM_Get_Parent_Ex ?
     
  2. sherlog

    sherlog New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2010
    Сообщения:
    4
    CM_Get_Parent_Ex, как оказалось, через дебри RPC использует комбинацию "чтение из реестра" и NtPlugPlayControl. Так и обходит живых представителей реестра. Других способов наверное нет.