Как запустить драйвер фильтр без reboot

Тема в разделе "WASM.NT.KERNEL", создана пользователем katrus, 28 авг 2007.

  1. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    Правильный код такой:

    Код (Text):
    1. for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
    Т.е. IRP_MJ_PNP мы должны захватить.

    Возможно код, который "постоянно в драйверах-фильтрах встречается", до/после цикла отдельно прописвает driver_object->MajorFunction[IRP_MJ_PNP]. Если нет, то это ошибка.

    ЗЫ: IRP_MJ_PNP_POWER - устарел и не используется.
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    я обычно вижу правильный вариант с <=
     
  3. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Добавлю, что данным багом - "<" вместо правильного "<=" страдают материалы книг и Солдатова и Хоглунда (замечено в обоих).
     
  4. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    хе, унлоад фильтра еще ладно, стерпеть можно, да и в мсдн сказано - низя
    а вот мне пришлось переделывать большой кусок кода потому что FS-фильтр даже детачить(!) оказалось нельзя. микрософт все-таки очень большой мастдай и жопорукие кнопкодавы
     
  5. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    По поводу "<" и "<=" - например у Уолтера Они указано "<" и после идет отдельная инициализация IRP_MJ_POWER и IRP_MJ_PNP.

    И помоему, для таких девайсов, как клавиатура и мышка, т.е. для которых нельзя приложению открыть манипулятор для посылки IOCTL, для обмена данными с фильтром, лучше использовать EDO. Они и регистрируются в системе по имени к ним можно обращаться.

    Так же бывают ситуации когда единственный выход - это фильтр шины (например специализированное устройство).