ВУЗ:
Составители:
50
разрешены, однако системная VM уже разрушена, так что Simulate_Int и
Exec_Int больше недоступны. Большинство VxD закрываются во время
System_Exit, закрывая свои устройства. Последнее сообщение –
Sys_Critical_Exit посылается с запрещенными прерываниями.
Большинство VxD не обрабатывают это сообщение.
3.7. Сообщения инициализации и завершения
динамически загружаемых VxD
Динамически загружаемый VxD не видит сообщений инициализации
системы (Sys_Critical_Init, Device_Init, и Init_Complete
) потому что он не
был загружен, когда эти сообщения выдавались. Однако, VMM
обеспечивает аналогичное сообщение для динамического VxD в процессе
процедуры его загрузки – Sys_Dynamic_Device_Init, и другого сообщения,
когда VxD выгружается – Sys_Dynam c_Device_Exit.
Динамический VxD обрабатывает сообщение
Sys_Dynamic_Device_Init так же, как статический VxD обработал бы
сообщения инициализации системы – выполняя инициализацию основного
устройства, перехватывая порты ввода-вывода, устанавливая
обработчики
аппаратных прерываний и т.д. Следует обратить внимание на то, что
некоторые сервисные функции VMM доступны только в процессе
инициализации системы и поэтому не могут использоваться
динамическими VxD (см. перечень сервисных функций DDK Windows 95).
Динамический VxD может сообщить о неудачной попытке загрузки,
возвращаяcь из обработчика сообщения Sys_Dynamic_Device_Init с
установленным флагом переноса.
Хотя статически загружаемые VxD получают несколько сообщений
завершения системы, статические VxD часто небрежны в отношении
освобождения ресурсов в процессе завершения, так как сами Windows
завершают свою работу. Напротив, динамический VxD должен очень
50 разрешены, однако системная VM уже разрушена, так что Simulate_Int и Exec_Int больше недоступны. Большинство VxD закрываются во время System_Exit, закрывая свои устройства. Последнее сообщение – Sys_Critical_Exit посылается с запрещенными прерываниями. Большинство VxD не обрабатывают это сообщение. 3.7. Сообщения инициализации и завершения динамически загружаемых VxD Динамически загружаемый VxD не видит сообщений инициализации системы (Sys_Critical_Init, Device_Init, и Init_Complete) потому что он не был загружен, когда эти сообщения выдавались. Однако, VMM обеспечивает аналогичное сообщение для динамического VxD в процессе процедуры его загрузки – Sys_Dynamic_Device_Init, и другого сообщения, когда VxD выгружается – Sys_Dynam c_Device_Exit. Динамический VxD обрабатывает сообщение Sys_Dynamic_Device_Init так же, как статический VxD обработал бы сообщения инициализации системы – выполняя инициализацию основного устройства, перехватывая порты ввода-вывода, устанавливая обработчики аппаратных прерываний и т.д. Следует обратить внимание на то, что некоторые сервисные функции VMM доступны только в процессе инициализации системы и поэтому не могут использоваться динамическими VxD (см. перечень сервисных функций DDK Windows 95). Динамический VxD может сообщить о неудачной попытке загрузки, возвращаяcь из обработчика сообщения Sys_Dynamic_Device_Init с установленным флагом переноса. Хотя статически загружаемые VxD получают несколько сообщений завершения системы, статические VxD часто небрежны в отношении освобождения ресурсов в процессе завершения, так как сами Windows завершают свою работу. Напротив, динамический VxD должен очень
Страницы
- « первая
- ‹ предыдущая
- …
- 48
- 49
- 50
- 51
- 52
- …
- следующая ›
- последняя »