WEB开发网
开发学院软件开发VC 使用Windows 95虚拟设备驱动程序 阅读

使用Windows 95虚拟设备驱动程序

 2010-07-20 20:44:57 来源:WEB开发网   
核心提示:Device_Init消息:这是VxD收到的第二条消息,允许中断,使用Windows 95虚拟设备驱动程序(5),大多数VxD分配和拷贝初始状态到系统虚拟机控制块中的设备指定部分,安装中断回调函数和I/O保护异常以及指定实例数据,VM_Suspend消息:当虚拟机已经被挂起时VxD收到此消息,例如切换到后台时,这时,S

Device_Init消息:这是VxD收到的第二条消息。允许中断,大多数VxD分配和拷贝初始状态到系统虚拟机控制块中的设备指定部分,安装中断回调函数和I/O保护异常以及指定实例数据。这时,Simulate_Int和Exec_Int服务变得有效。

End_Message_Mode消息:当虚拟外壳设备不再需要显示消息框时VxD收到此消息。虚拟键盘、鼠标和显示器设备恢复获得此消息的虚拟机以前保存的状态,禁止任何消息模式服务。

Init_Complete消息:这是VxD收到的第三条消息,也是最后一条与系统初始化有关的消息。虽然大多数VxD都不处理此消息,但使用V86内存的VxD应该在此消息返回前定位和申请内存。当VxD返回此消息时,VMM丢弃VxD的初始化代码和数据段。

Query_Destory消息:当虚拟外壳设备需要决定是否可以删除虚拟机时VxD收到此消息。VxD可以通过设置进位标志(CF——译者注)返回以阻止虚拟机被删除,在这种情况下VxD应该使用SHELL_Message服务来通知用户问题。

Reboot_Processor消息:当用户试图重新启动计算机时VxD收到此消息。可以重新启动计算机的VxD,例如键盘设备应该完成该工作。

Set_Device_Focus消息:当执行焦点从一个虚拟机移动到另一个虚拟机时VxD收到此消息。VxD恢复硬件设备到与虚拟机有关的状态。如果VxD使用I/O捕获管理没有执行焦点时的虚拟机,VxD应该尽可能地移走太多的I/O捕获,使虚拟机运行尽可能地快一些。

Sys_Critical_Exit消息:这是VxD收到的最后一条消息。禁止中断,   Simualte_Int和Exec_Int服务不再有效。VxD应该复位与之相关的硬件设备,保证能够无问题地返回到实模式。

Sys_Critical_Init消息:这是VxD收到的第一条消息。中断仍然不被允许,所以VxD应该尽可能快地完成任务。大多数VxD完成下列任务:

安装和初始化需要支持来自设备的硬件中断和来自VMM或者其它VxD的软件中断的任何函数,为设备提供除需要使用V86模式内存页以外的申请,例如虚拟显示设备申请显示内存。

初始化VxD服务需要的任何数据,这通常包括读取SYSTEM.INI文件中的设置。

当处理此消息时,Simualte_Int和Exec_Int服务必须不被使用。

Sys_VM_Init消息:在Init_Complete消息之后VxD收到此消息。VxD应该初始化系统虚拟机的硬件和软件状态。如果VxD设置进位标志返回,VMM终止所有进程并退出Windows。

Sys_VM_Terminate消息:这是VxD收到的第一条系统虚拟机终止消息。VxD可以开始为虚拟机终止做准备。Simulate_Int和Exec_Int服务有效,系统虚拟机总是最后一个被终止的虚拟机。

System_Exit消息:这是当系统终止时VxD收到的第一条消息。VMM在发送Sys_VM_Terminate消息之后发送此消息,允许中断,但Simualte_Int和Exec_Int服务不再有效。如果此消息来自一个致命错误的结果,VxD可以通过修改系统虚拟机的内存以恢复系统状态,使得Windows能够终止而不死机。

VM_Critical_Init消息:这是当一个新的VxD(虚拟机——译者注)被创建时VxD收到的第二条消息。VxD可以通过设置进位标志返回以阻止虚拟机被建立。禁止中断,Simualte_Int和Exec_Int服务不再有效。

VM_Init消息:这是当一个新的VxD被创建时VxD收到的第三条消息。VxD应该初始化虚拟机的硬件和软件状态,例如虚拟显示设备执行INT 10H功能设置初始显示模式。

VM_Not_Execute消息:这是VxD收到的第二条虚拟机终止消息(如果虚拟机已经被虚拟外壳设备删除,这是收到的第一条消息)。VxD可以通过检查EDX寄存器中的标志来查明终止原因。Simulate_Int和Exec_Int服务对获得此消息的虚拟机不再有效。

VM_Resume消息:当虚拟机的执行被恢复时VxD收到此消息,例如切换到前台时。VxD应该锁定任何资源和为虚拟机重新开始准备内部结构。如果VxD设置进位标志返回,VMM不恢复执行虚拟机。

VM_Suspend消息:当虚拟机已经被挂起时VxD收到此消息,例如切换到后台时。VxD应该解锁任何与虚拟机有关的资源。

上一页  1 2 3 4 5 

Tags:使用 Windows 虚拟

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接