-->
If you are writing a 64-bit driver or writing a driver that can be compiled to run on both 32-bit and 64-bit systems, follow the 64-bit porting guidelines in Driver Programming Techniques. This topic describes some of the limitations and problems that you might encounter in writing a 64-bit printer driver.
I rebuilt one of my systems, because it has 16GB of RAM, I needed to install 64 bit Windows 8.1. When I tried to install the driver for my LaserJet 4, Windows complains that there is no appropriate driver in the directory. Apr 20, 2017 Writing 64-Bit Printer Drivers.; 2 minutes to read; In this article. If you are writing a 64-bit driver or writing a driver that can be compiled to run on both 32-bit and 64-bit systems, follow the 64-bit porting guidelines in Driver Programming Techniques.This topic describes some of the limitations and problems that you might encounter in writing a 64-bit printer driver.
For more information about using decorations to identify 64-bit architecture, see the following topics:
Limitations on Device Context Handles
If a 32-bit application is running on a 64-bit version of the Microsoft Windows operating system, a printer driver plug-in that is running in the context of the Splwow64.exe thunking process should not call the GDI CreateDC function; this call will fail.
Problems with Writing 64-Bit Drivers
In existing 32-bit driver code, be careful about conversions between pointer types and integer types such as DWORD or ULONG. If you have experience writing code for 32-bit machines, you might be used to assuming that a pointer value fits into a DWORD or ULONG. For 64-bit code, this assumption is dangerous. If you cast a pointer to type DWORD or ULONG, a 64-bit pointer might be truncated.
Instead, cast the pointer to type DWORD_PTR or ULONG_PTR. An unsigned integer of type DWORD_PTR or ULONG_PTR is always large enough to store the entire pointer, regardless of whether the code is compiled for a 32-bit or 64-bit computer.
For example, the pDrvOptItems.UserData pointer field in the OEMCUIPPARAM structure is of type ULONG_PTR. The following code example shows what not to do if you copy a 64-bit pointer value to this field.
The preceding code example casts the pData pointer to type ULONG, which can truncate the pointer value if sizeof(pData) > sizeof(ULONG). The correct approach is to cast the pointer to ULONG_PTR, as shown in the following code example.
The preceding code example preserves all 64 bits of the pointer value.
Inline 64-bit functions such as PtrToUlong and UlongToPtr safely convert between pointer and integer types without relying on assumptions about the relative sizes of these types. If one type is shorter than the other, it must be extended when converting to the longer type. If the shorter type is extended by filling with the sign bit or with zeros, each Win64 function can handle these situations. Consider the following code example.
Hp qtp free download trial version 11.0. You should replace the preceding code example with the following code example.
The second code example is preferred even though
might represent the value of a hardware register that is only 32 bits long rather than 64 bits long. For a list of all the new Win64 helper functions for converting between pointer and integer types, see The New Data Types.
- Laptops & 2-in-1s
- Desktops
- Printers
- Business solutions
- Support
One versatile print driver for your PC or laptop
Automatically discover and print to supported HP devices and some non‑HP devices, with a single print driver. When you install the free HP Universal Print Driver (UPD) on a PC or laptop, it communicates with the supported devices to determine the unique print capabilities installed on each device.
You can easily locate and print to another printer within your network—in your current location or when visiting another company location. And the HP UPD allows you to add a new printer at any time—without the hassle of downloading another print driver.
Improve user productivity and cut help desk activity
IT managers can dramatically reduce the number of drivers they manage and give users the tools to improve efficiency. The HP Universal Print Driver (UPD) provides full printing support, including support for advanced features, for most HP LaserJet devices. The driver also offers basic printing capability for many other printing devices. Click the link at the right to see a list of supported products.
Users are more self-sufficient when the HP UPD is deployed, reducing the need for help desk calls. The print driver discovers device features using bidirectional communication. The driver then displays current, accurate device information, including advanced options like automatic two-sided printing, input trays, and finishing features. Use a single, trusted driver to make printing easy:
- One driver to configure--migrate to new devices, implement new technologies, and update operating systems.
- Familiar printing experience--the HP UPD provides a consistent interface across a variety of HP printers, reducing the need for training and support.
- Versatile support for desktop or on-the-go use--users can use Traditional mode when they stay in one location or Dynamic mode when they’re on the road or need to search for a new printer.
- Real-time job and device information--the HP UPD’s real-time, graphical interface empowers users to resolve common problems themselves, improving printer uptime and increasing productivity.
- Secure encrypted printing--make your printing environment more secure with print job encryption. Users can queue print jobs utilizing job storage and enter a PIN at the output device to print their documents.
- Broad compatibility and global localization--most HP and some non‑HP printing devices are compatible with the HP UPD. It can be deployed via print server or direct IP. The HP UPD is available in PCL5, PCL6, and Postscript emulation, and supports current Windows client and server operating systems (32‑bit and 64-bit), as well as Novell and Citrix. Local language drivers are available in 35 languages.
Gain greater control and effectiveness with management tools
Download the free Printer Administrator’s Resource Kit (PARK) and access a suite of robust management tools designed to work seamlessly with the HP UPD. Establish printer settings and policies across the organization that can help save paper and help control costs. Gain the ability to:
- Pre-configure driver settings and shortcuts before installing the HP UPD on users’ computers.
- Create an installation package with pre-configured driver settings to distribute to end-users via your standard software distribution methods.
- Utilize a managed printer list to help users locate printers.
- Control paper usage by setting “Duplex on” as the default.
- Set the driver to automatically print emails in black-and-white.
- Assign color access by user group, application, or time of day, on HP Color LaserJet printers and MFPs.
In the single file download, the PARK contains both supported and unsupported software tools, scripts and documentation. Download PARK and receive your copy of the tools today.
Get started today by downloading the HP Universal Print Driver and experience the most versatile and feature-rich print driver.