八、VxD初始化
VMM初始化一个VxD时做下列工作:
1、装载实模式初始化段并调用实模式初始化过程。该过程可以完成阻止装载VxD,阻止启动Windows,指定设备实例数据和在内存中选择页面给
设备专用的工作。
2、装载VxD其它段到32位平坦内存模式的保护模式内存,并丢弃实模式初始化段。
3、发送Sys_Critical_Init消息到设备控制过程。禁止硬件中断,所以VxD应该尽可能地用较少的时间完成自身初始化。
4、发送Device_Init消息到设备控制过程。允许硬件中断,所以必须准备让VxD管理来自设备的中断。
5、发送Init_Complete消息到设备控制过程。
6、丢弃初始化代码和数据段,释放其它被使用的内存。VxD不能在处理完Init_Complete消息以后试图存取这些段中的过程和数据。
在初始化过程中的任何时刻,VxD都可以设置进位标志返回到VMM以阻止装载VxD。部分VMM服务,例如初始化信息服务只在初始化过程中有效。
九、实模式初始化
任何静态设备驱动程序...[ 查看全文 ]