ObRegisterCallbacks - функции в фильтре

Тема в разделе "WASM.NT.KERNEL", создана пользователем katrus, 21 май 2009.

  1. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    В Vista начиная с SP2 появилась возможность регистриривать callback на различные операции с процессами. Допустим я зарегитрировал такой callback на открытие процесса. А как в нем сделать что-нибудь "креативное"? Например не давать создавать handle определенного процесса?
     
  2. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    http://www.google.com/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2F4%2F4%2Fb%2F44bb7147-f058-4002-9ab2-ed22870e3fe9%2FKernal%2520Data%2520and%2520Filtering%2520Support%2520for%2520Windows%2520Server%25202008.doc&ei=HXUVStnhCcXE_Qa-l9DcDA&usg=AFQjCNHqpsyuqUncMB5VBOv2M4ewS-qFzg
     
  3. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Во-первых, начиная с Vista SP1 и Server 2008 (у них одинаковое ядро), во-вторых, не забываем, что данные колбеки реализованы как часть минифильтров, а это означает, что производители таких драйверов должны получать у MS собственный персональный Altitude ID. Процесс получения описан здесь. Список уже зарегистрированных значений можно скачать и посмотреть здесь. Без уникального Altitude может получиться ситуация, при которой два драйвера укажут одинаковое значение и тогда ObRegisterCallbacks() вернёт ошибку STATUS_FLT_INSTANCE_ALTITUDE_COLLISION.