Hi, I am trying to wrestle control of COM1 from windows 98, and need some help.

So far I have written a simple vb gui (just a simple form) that loads a dynamic vxd that I wrote as well. The vb and the vxd loads and responds correctly.

My problem is with gaining control of the serial port. I have tried virtualizing the port, stealing the port and other things, yet nothing lets the port become active so to speak. If I invoke the debugger, I can read from the serial ports registers (COM1, 03F8-03FF) and all registers read "FF". As though its not there and the data bus is just floating.

So I wrote another vb gui that uses the vb comm control. It runs and listens to whatever is coming in on the serial port and pastes it onto a text box, and works correctly. So obviously the serial port works, and when I invoke the debugger while it's running, I can read the serial port's registers correctly. No more FF's.

Does anyone have a clue what is going on? Can windows be intercepting the debuggers attempts to read the ports? I thought the debugger had 100% access to the machine (it runs in ring 0), how could it not see the serial port at all times?

Posted on 2002-08-23 11:09:26 by sceptor
To answer my own question. Yes windows does indeed trap I/O access.
I just started reading Karen Hazzah's book on writing vxd's. Paqe 13, spelled it out.

So off to read page 14 LOL.
Posted on 2002-08-23 18:08:23 by sceptor