VDMEnumProcessWOW does not return any processes in Vista

I am trying to use VDMEnumProcessWOW to find all 16-bit host processes in Vista. I call it, and it does not seem to find any results, even though I have a 16-bit application running.

I also tried calling VDMEnumTaskWOWEx with the process identifier that I received for ntvdm.exe from the Windows task manager and also does not return any results.

ntvdm.exe has the username joeBlogs, and the application I wrote to call VDMEnumProcessWOW runs as a service in the SYSTEM account. Is the problem that I need them to work in the same session?

EnumProcesses works fine in all sessions, but is VDMEnumProcessWOW different, or is there something else I'm missing? The documentation that I have seen on this so far is a bit rare.

VDM contains the WowExec.exe task required by the function documentation.

Thanks.

+2
c ++ winapi
source share
2 answers

You can request a fix through this link.

+2
source share

Yes, a colleague just answered that. He used to face this problem. It looks like VDMEnumProcessWOW is not working in sessions.

In addition, Vista has another problem listing 16-bit processes (I'm not quite sure what this symptom is). There, Microsoft provided HotFix, which is required to complete this work.

0
source share

All Articles