FltCreateFile в PRE_CREATE callback'е

Тема в разделе "WASM.NT.KERNEL", создана пользователем chijo, 10 авг 2010.

  1. chijo

    chijo New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    15
    Столкнулся со следующей ситуацией.
    В колбеке PRE_CREATE минифильра для всех файлов делаю следующие действия:

    1.Получаю имя с помощью FltGetFileNameInformation (PRE_CREATE callback)
    2.Инициализирую OBJECT_ATTRIBUTES с помощью
    InitializeObjectAttributes(
    &pObjectAttributes,
    &nameInfo->Name,
    OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
    0,
    0);
    3.Открываю файл:
    FltCreateFile(FilterHandle,
    FltObjects->Instance,
    &hFile,
    GENERIC_READ,
    &objectAttributes, &ioStatus,
    (PLARGE_INTEGER) NULL,
    FILE_ATTRIBUTE_NORMAL,
    0,
    FILE_OPEN,
    FILE_NON_DIRECTORY_FILE,
    NULL,
    0L,
    0 );
    4.Сразу же его закрываю FltClose(pFile);

    Открыл, закрыл. Вроде все должно быть нормально, но система постепенно загибается, а при выгрузке минифильтра зависает(не система а unload callback) на FltUnregisterFilter( FilterHandle);

    Не пойму в чем дело. Причем до вставки этого куска кода, все работало нормально, никаких глюков не было.

    Заранее всем спасибо за помощь.
     
  2. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    hFile и pFile - здесь точно всё в порядке?
     
  3. chijo

    chijo New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    15
    да это я просто ошибся, когда для форума накидывал алгоритм... Завтра выложу код