There are several off-the-shelf drivers that allow user-mode applications to read and write I / O ports; one of the most famous is inpout32.dll , others are mentioned here to find them a good search key, is to "write parallel port NT" (because they are most often used for this task).
In general, they work by loading the kernel-mode driver (an action that requires administrative rights), and then calling it from usermode every time you call the dll function to perform read / write.
Please note, however, that most of these libraries do not have any form of access control, so by downloading their driver, you will actually let any application know how to use it to read / write on the I / O ports, and this is a complete security risk.
Matteo italia
source share