Question:
Please kindly advise how to output to a PC's I/O port address: &H158 using Visual C++ under NT 40. For your information, we used to use
outp() using C under Windows(16bits) V3.1.
Answer:
Well, the world changed between NT and previous MS operating systems. In particular, application programs (running at ring 3) have been forbidden to use direct hardware access (level 0). You have two choices. One, you can dig into the DDK and write your own device driver, but this is no task for the faint-at-heart. The easier way is to buy one of the shareware or commercial applications that have already done this. I list two below, but there are probably more out there.
BlueWater Systems WinRT OCX32-bit control (port I/O, physical memory access, and interupt handlingWin95 and NT).
TinyPort, shareware by Manfred Keul (read and write I/O ports under NT).