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

Discussion in 'WASM.NT.KERNEL' started by katrus, May 21, 2009.

  1. katrus

    katrus New Member

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

    Forever Виталий

    Blog Posts:
    0
    Joined:
    Apr 12, 2008
    Messages:
    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

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