Организация ввода-вывода. Часть 1. Виртуальные драйверы и виртуальное окружение WINDOWS. Рощин А.В. - 45 стр.

UptoLike

Составители: 

45
3.5. Уведомление о событии
Как только инициализация реального режима завершена, менеджер
виртуальных машин VMM уведомляет VxD о значимых событиях через
специальный интерфейс сообщений. Чтобы послать сообщение VxD, VMM
получает адрес управляющей процедуры устройства VxD от блока
дескриптора устройства (DDB) VxD и вызывает эту процедуру с кодом
сообщения в EAX и обработчиком текущей VM в EBX. Тогда
управляющая процедура осуществляет переход, соответствующий
сообщению. VMM использует этот интерфейс
для уведомления VxD о
выполнении инициализации, завершения и изменения состояния VM.
Хотя интерфейс сообщений VxD концептуально подобен
интерфейсу сообщений WinProc, их реализация совершенно различна и
несовместима.
Грубо две дюжины сообщений могут быть разделены на восемь
основных категорий. Сообщения и их категории показаны в табл. 3.2.
Сообщения в категориях инициализации и завершения всегда посылаются
в
указанном в списке порядке. Более подробный список сообщений и их
регистрируемых параметров и кодов возврата может быть найден в
документации к DDK Windows 95.
Многие VxD обрабатывают только небольшую часть этих
сообщений. Пример VxD в следующей главе иллюстрирует обработку
наиболее часто обрабатываемых сообщений. Большинство этих сообщений
отмечает важные события в жизни VxD или VM. В следующем разделе
объясняется
, какое отношение эти сообщения имеют к нормальному циклу
жизни VxD и как VM их обслуживает.
                                  45



     3.5. Уведомление о событии
     Как только инициализация реального режима завершена, менеджер
виртуальных машин VMM уведомляет VxD о значимых событиях через
специальный интерфейс сообщений. Чтобы послать сообщение VxD, VMM
получает адрес управляющей процедуры устройства VxD от блока
дескриптора устройства (DDB) VxD и вызывает эту процедуру с кодом
сообщения в EAX и обработчиком текущей VM в EBX. Тогда
управляющая     процедура   осуществляет     переход,   соответствующий
сообщению. VMM использует этот интерфейс для уведомления VxD о
выполнении инициализации, завершения и изменения состояния VM.
     Хотя   интерфейс   сообщений      VxD      концептуально   подобен
интерфейсу сообщений WinProc, их реализация совершенно различна и
несовместима.
     Грубо две дюжины сообщений могут быть разделены на восемь
основных категорий. Сообщения и их категории показаны в табл. 3.2.
Сообщения в категориях инициализации и завершения всегда посылаются
в указанном в списке порядке. Более подробный список сообщений и их
регистрируемых параметров и кодов возврата может быть найден в
документации к DDK Windows 95.
     Многие     VxD   обрабатывают     только   небольшую   часть   этих
сообщений. Пример VxD в следующей главе иллюстрирует обработку
наиболее часто обрабатываемых сообщений. Большинство этих сообщений
отмечает важные события в жизни VxD или VM. В следующем разделе
объясняется, какое отношение эти сообщения имеют к нормальному циклу
жизни VxD и как VM их обслуживает.