WINOLDAP-VM ID Link at VxD Ring 0 level

At ring0 you can obtain thru THREADHANDLE the information of the current process. But when the active application is a DOS box, no information is in there THREADHANDLE. A WinOldAp thread is started with each DOS box. I need to know how a THREADHANDLE of a VM ID is linked to is WINOLDAP process at ring0 level.
LVL 2
cessi0gAsked:
Who is Participating?
 
tonpConnect With a Mentor Commented:
Your question isn't totally clear about what you want. As I understand it, you want to know how a threadhandle is linked to a winoldapp. However, there is no thread hanlde for a dos-program running in a dos box. There's only the winoldapp thread, the dos program isn't running as a win32 process.

What you need to do is the following:

1. First see if the current process is a dos program.

use Get_Cur_VM_Handle and test the cb_vm_status
test    [ebx+cb_vm_status],vmstat_pm_app

If not a PM app, we have a dos program

2. Use Get_Set_Real_DOS_PSP to get the dos PSP, which is the equivalent of your win32 thread handle.

Ton

0
 
rayofunrealCommented:
Which compiler U are using ?
0
 
cessi0gAuthor Commented:
I'm using VToolsD with Microsoft Visual C++ v5.0.
0
 
rayofunrealCommented:
I try to find it in my docs, if here is any exception with virtual dos machines. I mean that there can be problem with VMM. You know that without Bill, we have no fun ;-)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.