Inpout32.dll: What It Is, How It Works, and How to Install It on Windows 10 64 Bit
What is inpout32.dll and why do you need it?
If you are a developer or a hobbyist who wants to access hardware ports (such as the parallel and serial port) from your user-level programs, you may have encountered the problem of not being able to do so on modern Windows systems. This is because Windows protects these ports from direct access by applications, for security and compatibility reasons. However, there is a solution that can help you bypass this limitation and use these ports as you wish. This solution is called inpout32.dll.
Inpout32.dll Windows 10 64 Bit
What is inpout32.dll?
Inpout32.dll is a Windows DLL (Dynamic Link Library) and driver that gives direct access to hardware ports from user-level programs. It was originally developed by Logix4u for Windows 95/98/ME/NT/2000/XP, but it has been updated and maintained by Highresolution Enterprises for Windows Vista/7/8/10. It supports both 32-bit and 64-bit systems, and it is compatible with most programming languages that can import DLL functions, such as C#, C++, Visual Basic, Delphi, etc.
What are the benefits of using inpout32.dll?
Using inpout32.dll has several advantages over other methods of accessing hardware ports, such as using kernel-mode drivers or virtual machines. Some of these benefits are:
It is easy to use. You just need to download and install the DLL file, and then import its functions in your code.
It is fast and reliable. It does not introduce any significant overhead or latency in your communication with the ports.
It is flexible and versatile. You can use it to access any port number, read or write any data size, and control any device that is connected to the port.
It is safe and secure. It does not compromise your system's stability or security, as it does not modify any system files or registry entries.
How to download and install inpout32.dll on Windows 10 64 bit?
Downloading inpout32.dll from a reliable source
The first step to use inpout32.dll is to download it from a reliable source. You can find the latest version of inpout32.dll on the official website of Highresolution Enterprises. There are two different versions available for download: inpoutx64.dll for 64-bit systems, and inpout32.dll for 32-bit systems. Make sure you download the correct version for your system.
Installing inpout32.dll to the system folder or the application folder
The next step is to install inpout32.dll to your system. There are two possible ways to do this:
Copy the DLL file to the system folder. This is usually C:\Windows\System32 for 64-bit systems, or C:\Windows\SysWOW64 for 32-bit systems. This way, the DLL file will be available for all applications that need it.
Copy the DLL file to the application folder. This is the folder where your executable file (.exe) is located. This way, the DLL file will be available only for the specific application that needs it.
After copying the DLL file, you may need to register it with Windows. To do this, you can use the regsvr32 command in the command prompt. For example, if you copied the DLL file to the system folder, you can type:
regsvr32 inpoutx64.dll
or
regsvr32 inpout32.dll
depending on your system and version. If you copied the DLL file to the application folder, you need to specify the full path of the file, such as:
regsvr32 C:\MyApp\inpoutx64.dll
If the registration is successful, you should see a message saying that the DLL file was registered successfully.
Troubleshooting common errors with inpout32.dll
Sometimes, you may encounter some errors or problems when using inpout32.dll. Here are some of the common ones and how to fix them:
The DLL file is missing or not found. This means that Windows cannot locate the DLL file in your system. To fix this, make sure you copied the DLL file to the correct folder and registered it properly. You can also try to download the DLL file again from a reliable source and replace the old one.
The DLL file is corrupted or incompatible. This means that the DLL file is damaged or not suitable for your system. To fix this, make sure you downloaded the correct version of the DLL file for your system (64-bit or 32-bit). You can also try to scan your system for viruses or malware that may have infected the DLL file.
The application crashes or freezes when using inpout32.dll. This means that there is a problem with your application or your code. To fix this, make sure you imported the functions of inpout32.dll correctly in your code and used them properly. You can also try to debug your code and check for any errors or exceptions.
How to use inpout32.dll to access hardware ports from user-level programs?
Importing the functions of inpout32.dll in code
To use inpout32.dll in your code, you need to import its functions first. The DLL file provides four main functions for accessing hardware ports:
FunctionDescription
Inp32This function reads a byte from a port number and returns it as an integer.
Out32This function writes a byte to a port number.
DlPortReadPortUshortThis function reads a word (two bytes) from a port number and returns it as an integer.
DlPortWritePortUshortThis function writes a word (two bytes) to a port number.
The syntax and parameters of these functions may vary depending on the programming language you are using. For example, in C#, you can import these functions as follows:
[DllImport("inpoutx64.dll", EntryPoint = "Inp32")]
public static extern int Inp32(int PortAddress);
[DllImport("inpoutx64.dll", EntryPoint = "Out32")]
public static extern void Out32(int PortAddress, int Value);
[DllImport("inpoutx64.dll", EntryPoint = "DlPortReadPortUshort")]
public static extern int DlPortReadPortUshort(int PortAddress);
[DllImport("inpoutx64.dll", EntryPoint = "DlPortWritePortUshort")]
public static extern void DlPortWritePortUshort(int PortAddress, int Value);
Using inpout32.dll to read and write to the LPT port
The LPT port (also known as the parallel port) is a type of hardware port that can be used to connect printers, scanners, and other devices. The LPT port usually has a 25-pin connector and uses 8 data lines (D0-D7) and 5 control lines (STROBE, AUTOFD, INIT, SELECTIN, and GROUND ) to communicate with the device. The LPT port usually has a base address of 0x378, 0x278, or 0x3BC, depending on the configuration of your system.
To use inpout32.dll to read and write to the LPT port, you need to know the port address and the data and control values that you want to send or receive. For example, if you want to write a byte of data (say, 0x55) to the LPT port with the base address of 0x378, you can use the Out32 function as follows:
Out32(0x378, 0x55);
This will send the data value of 0x55 to the data lines (D0-D7) of the LPT port. To read a byte of data from the LPT port, you can use the Inp32 function as follows:
int data = Inp32(0x378);
This will read the data value from the data lines (D0-D7) of the LPT port and store it in the variable data.
To write or read a control value to or from the LPT port, you need to add or subtract an offset value to or from the base address. The offset value for the control register is 2, so if you want to write a control value (say, 0x0F) to the LPT port with the base address of 0x378, you can use the Out32 function as follows:
Out32(0x378 + 2, 0x0F);
This will send the control value of 0x0F to the control lines (STROBE, AUTOFD, INIT, SELECTIN, and GROUND) of the LPT port. To read a control value from the LPT port, you can use the Inp32 function as follows:
int control = Inp32(0x378 + 2);
This will read the control value from the control lines (STROBE, AUTOFD, INIT, SELECTIN, and GROUND) of the LPT port and store it in the variable control.
Using inpout32.dll to read and write to the serial port
The serial port (also known as the COM port) is another type of hardware port that can be used to connect modems, mice, keyboards, and other devices. The serial port usually has a 9-pin or 25-pin connector and uses one data line (TX or RX) and several control lines (CTS, RTS, DTR, DSR, CD, and RI) to communicate with the device. The serial port usually has a base address of 0x3F8, 0x2F8, 0x3E8, or 0x2E8, depending on the configuration of your system.
To use inpout32.dll to read and write to the serial port, you need to know the port address and the data and control values that you want to send or receive. For example, if you want to write a byte of data (say, 0xAA) to the serial port with the base address of 0x3F8, you can use the Out32 function as follows:
Out32(0x3F8, 0xAA);
This will send the data value of 0xAA to the TX line of the serial port. To read a byte of data from the serial port, you can use the Inp32 function as follows:
int data = Inp32(0x3F8);
This will read the data value from the RX line of the serial port and store it in the variable data.
To write or read a control value to or from the serial port, you need to add or subtract an offset value to or from the base address. The offset value for the control register is 4, so if you want to write a control value (say, 0x0F) to the serial port with the base address of 0x3F8, you can use the Out32 function as follows:
Out32(0x3F8 + 4, 0x0F);
This will send the control value of 0x0F to the control lines (CTS, RTS, DTR, DSR, CD, and RI) of the serial port. To read a control value from the serial port, you can use the Inp32 function as follows:
int control = Inp32(0x3F8 + 4);
This will read the control value from the control lines (CTS, RTS, DTR, DSR, CD, and RI) of the serial port and store it in the variable control.
How to update or uninstall inpout32.dll on Windows 10 64 bit?
Updating inpout32.dll to the latest version
If you want to update inpout32.dll to the latest version, you can follow these steps:
Download the latest version of inpout32.dll from the official website of Highresolution Enterprises. Make sure you download the correct version for your system (64-bit or 32-bit).
Unregister the old version of inpout32.dll from your system. To do this, you can use the regsvr32 /u command in the command prompt. For example, if you copied the DLL file to the system folder, you can type:
regsvr32 /u inpoutx64.dll
or
regsvr32 /u inpout32.dll
depending on your system and version. If you copied the DLL file to the application folder, you need to specify the full path of the file, such as:
regsvr32 /u C:\MyApp\inpoutx64.dll
Delete the old version of inpout32.dll from your system. To do this, you can use the del command in the command prompt. For example, if you copied the DLL file to the system folder, you can type:
del inpoutx64.dll
or
del inpout32.dll
depending on your system and version. If you copied the DLL file to the application folder, you need to specify the full path of the file, such as:
del C:\MyApp\inpoutx64.dll
Copy the new version of inpout32.dll to your system. To do this, you can follow the same steps as described in the installation section above.
Register the new version of inpout32.dll with Windows. To do this, you can follow the same steps as described in the installation section above.
After completing these steps, you should have the latest version of inpout32.dll on your system.
Uninstalling inpout32.dll from your system
If you want to uninstall inpout32.dll from your system, you can follow these steps:
Unregister inpout32.dll from your system. To do this, you can use the regsvr32 /u command in the command prompt. For example, if you copied the DLL file to the system folder, you can type:
regsvr32 /u inpoutx64.dll
or
regsvr32 /u inpout32.dll
depending on your system and version. If you copied the DLL file to the application folder, you need to specify the full path of the file, such as:
regsvr32 /u C:\MyApp\inpoutx64.dll
Delete inpout32.dll from your system. To do this, you can use the del command in the command prompt. For example, if you copied the DLL file to the system folder, you can type:
del inpoutx64.dll
or
del inpout32.dll
depending on your system and version. If you copied the DLL file to the application folder, you need to specify the full path of the file, such as:
del C:\MyApp\inpoutx64.dll
After completing these steps, you should have removed inpout32.dll from your system.
Conclusion
In this article, we have learned what inpout32.dll is and why we need it. We have also learned how to download, install, use, update, and uninstall inpout32.dll on Windows 10 64 bit. We have seen how inpout32.dll can help us access hardware ports from user-level programs, such as reading and writing to the LPT and serial port. We hope this article has been helpful and informative for you. If you have any questions or feedback, please feel free to leave a comment below.
FAQs
Here are some of the frequently asked questions about inpout32.dll:
Q: Is inpout32.dll safe and legal to use?
A: Yes, inpout32.dll is safe and legal to use, as long as you download it from a reliable source and use it for legitimate purposes. However, you should be careful not to use inpout32.dll to access ports that are already in use by other applications or devices, as this may cause conflicts or errors.
Q: Does inpout32.dll work on other versions of Windows?
A: Yes, inpout32.dll works on most versions of Windows, from Windows 95 to Windows 10. However, you may need to download different versions of inpout32.dll for different systems. You can find the compatible versions of inpout32.dll on the official website of Highresolution Enterprises.
Q: Does inpout32.dll work on other platforms or operating systems?
A: No, inpout32.dll is designed only for Windows systems. If you want to access hardware ports from other platforms or operating systems, such as Linux or Mac OS, you may need to use other methods or tools.
Q: Where can I find more information or documentation about inpout32.dll?
A: You can find more information or documentation about inpout32.dll on the official website of Highresolution Enterprises. There you can find the latest updates, downloads, tutorials, examples, and support for inpout32.dll.
Q: How can I contact the developers or creators of inpout32.dll?
A: You can contact the developers or creators of inpout32.dll by sending an email to support@highrez.co.uk. They will be happy to answer your questions or feedback about inpout32.dll.
: [InpOut32 and InpOutx64](http://www.highrez.co.uk/downloads/inpout32/) dcd2dc6462