View Single Post
  #5  
Old 09-03-2005, 00:52
sapu
 
Posts: n/a
WKPE intercepts direct I/O access made from Ring3 applications (DOS,Win16 and Win32) using a Win9x-specific VMM service called 'I/O port trapping'.

Unluckly, WinXP doesn't have a similar feature, and also ALL the I/O access from Ring3 is blocked, and cause a 'privileged instruction' trap.

Anyway, if your app is a legacy DOS or WIN16 application, all the I/O access is 'emulated' from NTVDM.EXE. In this case only, it's possible to write a VDM driver and, using VDDInstallIOHook, intercept & emulate all the I/O access to the LPT port address.
If you need a good VDM driver example, look for VDMSound on sourceforge...
Reply With Quote