ВУЗ:
Составители:
36
SoftIce/Windows. Помещая отладочный код в сегмент отладки,
разработчики могут получить тот же самый выполняемый код, включая
код отладки, без увеличения размера исполняемого кода. VMM загрузит
отладочный код только при наличии системного отладчика, но опустит его
в цикле нормальной загрузки (то есть, когда системный отладчик
отсутствует).
3.3. Блок дескриптора устройства
Блок дескриптора устройства, или DDB (Device Descriptor Block),
служит для связи драйвера виртуальных машин VMM с VxD. DDB
содержит информацию, которая идентифицирует VxD и указатель на
главную точку входа в VxD. DDB может содержать также указатели на
другие точки входа, используемые приложениями или другими VxD. В
табл. 3.1 показаны поля структуры DDB, которые инициализируются в
VxD. Менеджер виртуальных машин VMM находит DDB VxD, и,
следовательно, главную
точку входа, как только он загружает VxD, ища
первый экспортируемое символическое имя в модуле.
Даже когда VxD написан на Си, он не имеет главной процедуры.
Вместо этого поле процедуры управления устройством в DDB содержит
адрес главной точки входа в VxD. После инициализации в реальном
режиме все запросы от VMM приходят в VxD через эту точку входа. VMM
использует эту точку входа, чтобы уведомить VxD относительно
изменения состояния виртуальной машины VM и самих Windows, и VxD
выполняют свою работу, реагируя на эти события. (Эти события будут
подробно обсуждаться позже.)
36
SoftIce/Windows. Помещая отладочный код в сегмент отладки,
разработчики могут получить тот же самый выполняемый код, включая
код отладки, без увеличения размера исполняемого кода. VMM загрузит
отладочный код только при наличии системного отладчика, но опустит его
в цикле нормальной загрузки (то есть, когда системный отладчик
отсутствует).
3.3. Блок дескриптора устройства
Блок дескриптора устройства, или DDB (Device Descriptor Block),
служит для связи драйвера виртуальных машин VMM с VxD. DDB
содержит информацию, которая идентифицирует VxD и указатель на
главную точку входа в VxD. DDB может содержать также указатели на
другие точки входа, используемые приложениями или другими VxD. В
табл. 3.1 показаны поля структуры DDB, которые инициализируются в
VxD. Менеджер виртуальных машин VMM находит DDB VxD, и,
следовательно, главную точку входа, как только он загружает VxD, ища
первый экспортируемое символическое имя в модуле.
Даже когда VxD написан на Си, он не имеет главной процедуры.
Вместо этого поле процедуры управления устройством в DDB содержит
адрес главной точки входа в VxD. После инициализации в реальном
режиме все запросы от VMM приходят в VxD через эту точку входа. VMM
использует эту точку входа, чтобы уведомить VxD относительно
изменения состояния виртуальной машины VM и самих Windows, и VxD
выполняют свою работу, реагируя на эти события. (Эти события будут
подробно обсуждаться позже.)
Страницы
- « первая
- ‹ предыдущая
- …
- 34
- 35
- 36
- 37
- 38
- …
- следующая ›
- последняя »
