Изменение полей в IRP.

Тема в разделе "WASM.WIN32", создана пользователем rav, 20 июн 2005.

  1. rav

    rav New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2004
    Сообщения:
    159
    Адрес:
    Москва
    Всем доброго времени суток.



    Возникла такая проблема- нужно открывать определённые файлы только на чтение, даже если указаны параметры на запись. Перехватываю IRP и меняю :



    if(ioStack->Parameters.Create.SecurityContext->DesiredAccess&GENERIC_WRITE_FILE){

    ioStack->Parameters.Create.SecurityContext->DesiredAccess&=~GENERIC_WRITE_FILE;

    ioStack->Parameters.Create.SecurityContext->DesiredAccess|=GENERIC_REA D_FILE;

    }



    При этом файл как открывался на запись, так и открывается. Сама запись тоже происходит. Очень странно. Может, кто посоветует чего путного. Я, конечно, могу отменить этот IRP и вернуть ошибку, но хотельсь бы чего-то более красивого и элегантного.