阅读:914回复:3
vm和vxd的问题???加分
当我在VM中调用一个VXD的API。下面是一个API
void_cdel v86_api_handle(vmhandle hvm,pclient_struct pcrs) { 在这里输出AX,和PCRS->AX。 } 为何他们输出的不同????? |
|
沙发#
发布于:2002-06-04 22:09
这是因为经过了模式的切换,即从用户态向核心态的转换,此时的AX是内核模式下的值,PCRS->AX的值是用户模式下的值,二者意义是不一样的
|
|
板凳#
发布于:2002-06-05 09:19
仔细的看看关于VM的描述。
|
|
地板#
发布于:2002-06-05 10:56
这是因为在windows下,系统会为每个客户线程模拟一套CPU的寄存器,所以pCRS的AX实际上是客户调用线程的AX值,而并非真正的
VM的寄存器值。故结果不一样。 |
|