Самоучитель по программированию систем защиты


Рисунок 11. Формат кода управления вводом/выводом - часть 2


/p>

Местоположение буферов данных в пакете IRP будет рассмотрено в следующем разделе («Получение буфера»).

  1. 4. Поле Access указывает тип доступа, который должен был быть запрошен (и предоставлен) при открытии объекта-файла, для которого передается данный код Управления вводом/выводом. Возможные значения для этого параметра следующие:

    • FILE_ANY_ACCESS. Это значение указывает, что при вызове CreateFile() мог быть запрошен любой доступ.
    • FILE_READ_ACCESS. Это значение указывает, что должен был быть запрошен доступ для чтения.
    • FILE_WRITE_ACCESS. Это значение указывает, что должен был быть запрошен доступ для записи.

Заметим, что file_read_access и file_write_access могут быть указаны одновременно, чтобы указать, что при открытии устройства должен быть предоставлен и доступ на чтение, и доступ на запись.

Параметр Access требуется потому, что операции управления ввода/вывода, по своей сути не есть операция чтения или записи. Прежде, чем будет разрешена запрашиваемая операция ввода/вывода, Диспетчер Ввода/вывода должен знать, какой режим доступа нужно проверить в таблице описателей.




Начало  Назад  Вперед



Книжный магазин