Курсовая работа: Разработка драйвера виртуального жесткого диска

Описание

IRP_MN_START_DEVICE

Инициализация устройства с заданными ресурсами

IRP_MN_QUERY_STOP_DEVICE

Проверка осуществимости остановки устройства для перераспределения ресурсов

IRP_MN_STOP_DEVICE

Остановка устройства с потенциальной возможность. перезапуска или удаления из системы

IRP_MN_CANCEL_STOP_DEVICE

Уведомляет, что предыдущий запрос на остановку не получит дальнейшего развития

IRP_MN_QUERY_REMOVE_DEVICE

Проверка осуществимости безопасного удаления устройства

IRP_MN_REMOVE_DEVICE

Выполнить безопасное удаление устройства

IRP_MN_CANCEL_REMOVE_DEVICE

Уведомляет, что предыдущий запрос на удаление не получит дальнейшего развития

IRP_MN_SURPRISE_REMOVAL

Уведомляет, что устройство было удалено без предварительного предупреждения

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

Основным состоянием диска будет WORKING – когда диск находится в рабочем состоянии. Остальные состояния(приведенные в таблице 3) носят информативный характер, чтобы узнать текущий режим работы диска. При операциях доступа к устройству будет осуществляться проверка состояния WORKING, и только при нем доступ к диску разрешен.

Таблица 3

Состояние

Значение

STOPPED

Устройство остановлено

WORKING

Устройство работает

PENDINGSTOP

Устройство ожидает остановки

PENDINGREMOVE

К-во Просмотров: 559
Бесплатно скачать Курсовая работа: Разработка драйвера виртуального жесткого диска