hotplug и открытая директория

Тема в разделе "WASM.NT.KERNEL", создана пользователем BrooVizor, 2 мар 2012.

  1. BrooVizor

    BrooVizor New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2011
    Сообщения:
    9
    Возник такой вопрос. Возможно ли на флешке драйвером открыть так директорию, чтобы не закрывая хендла можно было безопано извлечь устройсвто и при этом не выскакивало сообщение "Устройство еще используется". Подбирал различные флаги для ZwCreateFile , но так ни чего и не вышло. Кстати не ясно как влияет флаг FILE_SYNCHRONOUS_IO_NONALERT на директорию.. Подозреваю что механизм безапасного извлечения проверяет все открыте хендлы и если таковые есть, то выскакивает соответствующее сообщение. Понятно что можно отреверсить этот механизм, влепить где-нибудь хуки(хуки - для меня это не приемлемый вариант) или затирать инфу об открытых директориях(если таковая есть и является эталоном проверки :) ). Но может кто-нибудь сталкивался с данной проблемой и сможет прояснть ситуацию..
     
  2. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Ну, как минимум, два варианта могу подсказать. Во-первых, можно работать с папкой через файловые объекты, без хендлов. Правда, я не уверен, что это 100% будет работать. Во-вторых, можно повесить фильтр на "Mass Storage", и ловить попытки извлечения диска, при обнаружении такой попытки - закрывать файлы и далее тупо пропускать запрос ниже. Начать стоит, думаю, с IRP_MN_QUERY_REMOVE_DEVICE запроса.