Gt 730 Driver Windows 7 32-bit

0 views
Skip to first unread message

Tancredo Dori

unread,
Aug 3, 2024, 11:00:29 AM8/3/24
to eelapatge

I know it's not possible to install a 32-bit driver in the traditional way, but I really cannot find a 64-bit driver for my memory card reader. Is there anyway I can somehow use this device with a 32-bit driver on a 64-bit Windows 7 installation?

Yes. All hardware devices need 64-bit drivers to work on a 64-bit version of Windows. Drivers designed for 32-bit versions of Windows don't work on computers running 64-bit versions of Windows.

To learn how to check for drivers, see Update a driver for hardware that isn't working properly or go to the device manufacturer's website. You can also get information about drivers by going to the Windows 7 Upgrade Advisor webpage.

You can try this as the other person has mentioned using Windows XP mode in Windows 7. This is just an example where the device is an old TV tuner, but same will apply for other devices. If you don't know what is XP mode or not sure how to install it here are more guide you might want to look into it.

Windows on Windows (WOW64) enables Microsoft Win32 user-mode applications to run on 64-bit Windows. It does this by intercepting Win32 function calls and converting parameters from 32-bit pointer types to 64-bit pointer types as appropriate before making the transition to the 64-bit kernel. This conversion, which is called thunking, is done automatically for all Win32 functions, with one important exception: the data buffers passed to DeviceIoControl. The contents of these buffers, which are pointed to by the InputBuffer and OutputBuffer parameters, are not thunked, because their structure is driver-specific.

User-mode applications call DeviceIoControl to send an I/O request directly to a specified kernel-mode driver. This request contains an I/O control code (IOCTL) or file system control code (FSCTL) and pointers to input and output data buffers. The format of these data buffers is specific to the IOCTL or FSCTL, which in turn is defined by the kernel-mode driver. Because the buffer format is arbitrary, and because it is known to the driver and not WOW64, the task of thunking the data is left to the driver.

This is only a half-way programming question. First of all I have a PCI-Express card and 32/64 bit drivers. The target operating system has to be a Windows 64 bit system. I read that under Vista64 all drivers have to be certified 64 bit drivers. Is this a general restriction under 64 bit operating systems and does this also apply to "XP 64" or any Linux system?

So for simplicity let's say I use a 64 bit driver for my PCIe card under Vista64 and have a bunch of 64 bit DLLs to use the cards functionality. On the other side there's a large, legacy 32 bit exe program which needs to use the PCIe device. Converting the program to 64 bit would be a really huge effort.

So what can be done to bring that 32 bit program and the 64 bit driver together? I read that mixing 32/64 bit binaries and DLLs is not possible at all but this is hard to believe for me. I'm sure you can print out a document under Vista64 from within a 32 bit app and Windows will somehow wrap this around to a 64 bit printer driver.

64-bit certification is only required under Vista; there is no certifying authority for non-Windows platforms, and I don't believe that XP or Windows Server checks for certification (not sure though, and it may depend on which service pack you're on).

If you're using the driver via the Windows API, then there shouldn't be any problem; Windows will do the 3264-bit translations in the kernel. If you're trying to load the driver inside your own process, that probably won't be possible. As Dirk says you'll have to run it inside its own process and communicate through a COM server. I'm not sure what hoops you'll have to jump through if you have to run your driver in a higher-privilege execution level and want to make calls to it from user mode.

The only way to communicate between 32-bit and 64-bit dlls is to write a COM server that manages the communication (read: wrap EITHER the applications calls OR the 64-bit driver responses) in between.

One thing that came back to bite me: When I first wrote this COM server (yes, I too had to bear many sleepless nights before I came to know of this trick) I only built the 32-bit version of the (auto-generated) proxy/stub dll. Another bout of sleepless nights ensued before I came to know of the solution: Build the proxy/stub dll for both 32-bit and 64-bit. The 32-bit side deals with the 32-bit side (in your case the application) and the 64-bit with the 64-bit side (the driver). COM manages how the differnt versions of the proxy/stub talk to each other. And oh, do get the server registered on your system. Easy, right?

I think the whole point of a driver is to abstract away the actually workings of the hardware and present a common interface to the software. In this case, the PCIe driver needs to be 64-bit so that it can act as a go-between for Windows and the hardware, but I would think that a 32-bit application could then access the device without any troubles at all.

What's meant by that incompatibility you read about is that 32 and 64-bit assemblies can't be part of the same application - an application has to target either one or the other, though 32-bit application will generally run fine on Windows x64 using WoW64, which just acts as a translator.

I'm reading around and it seems that 32 bit drivers do not work under 64 bit windows. Is this true? since 32-bit applications can run under 64 bit windows it seems ridiculous that 32-bit printer drivers cannot. Are printer drivers run at the kernel level?

x64 versions of Windows do not support 32-bit kernel mode drivers. Microsoft's statements re: Vista are here (be sure to look at the errata at the bottom-- the article has a major mistake that it corrects), and the same is true for Windows 7 and Windows Server 2008.

There is no magic "switch" you can throw to allow 32-bit kernel mode drivers to work on an x64 kernel. They won't, period. (Yeah, yeah-- I suppose somebody could write some kind of ugly shimming system to make it possible, but nobody outside of Microsoft would have the necessary documentation to write such a thing... Besides, it's easier just to run a 32-bit OS under virtualization in a 64-bit host if you really need that...)

With respect to printer drivers, Easy Print is Microsoft's answer to the nightmare of client-side printer drivers in a Terminal Services environment, but you need Windows Server 2008 on the Terminal Server machine.

It is possible to install 32 bit drivers alongside the 64 bit drivers on your print server. Click on the print server, go to the printer options page, and click 'additional drivers' to install the 32 bit version. The name needs to match exactly.

The big printer vendors do have 64 bit compatible drivers. Also, check out the HP Universal print driver and the Xerox Global Print driver. Worked for most of the printers on my network. Xerox's driver promises to work for any printer, anywhere (but I only use it for Xerox machines).

Note: configure now enables DCO build by default on FreeBSD and Linux. On Linux this brings in a new default dependency for libnl-genl (for Linux distributions that are too old to have a suitable version of the library, use "configure --disable-dco")

Note that OpenVPN 2.5.x is in "Old Stable Support" status (see SupportedVersions). This usually means that we do not provide updated Windows Installers anymore, even for security fixes. Since this release fixes several issues specific to the Windows platform we decided to provide installers anyway. This does not change the support status of 2.5.x branch. We might not provide security updates for issues found in the future. We recommend that everyone switch to the 2.6.x versions of installers as soon as possible.

The OpenVPN community project team is proud to release OpenVPN 2.5.6. This is mostly a bugfix release including one security fix ("Disallow multiple deferred authentication plug-ins.", CVE: 2022-0547). The I605 installers include OpenVPN GUI with a bug fix, as well as updated OpenSSL (1.1.1o).

The OpenVPN community project team is proud to release OpenVPN 2.5.5. The most notable changes are Windows-related: use of CFG Spectre-mitigations in MSVC builds, bringing back of OpenSSL config loading and several build fixes. More details are available in Changes.rst.

The OpenVPN community project team is proud to release OpenVPN 2.5.4. This release include a number of fixes and small improvements. One of the fixes is to password prompting on windows console when stderr redirection is in use - this breaks 2.5.x on Win11/ARM, and might also break on Win11/amd64. Windows executable and libraries are now built natively on Windows using MSVC, not cross-compiled on Linux as with earlier 2.5 releases. Windows installers include updated OpenSSL and new OpenVPN GUI. The latter includes several improvements, the most important of which is the ability to import profiles from URLs where available. Installer version I602 fixes loading of pkcs11 files on Windows. Installer version I603 fixes a bug in the version number as seen by Windows (was 2.5..4, not 2.5.4). Installer I604 fixes some small Windows issues.

The OpenVPN community project team is proud to release OpenVPN 2.5.3. Besides a number of small improvements and bug fixes, this release fixes a possible security issue with OpenSSL config autoloading on Windows (CVE-2021-3606). Updated OpenVPN GUI is also included in Windows installers.

The OpenVPN community project team is proud to release OpenVPN 2.5.2. It fixes two related security vulnerabilities (CVE-2020-15078) which under very specific circumstances allow tricking a server using delayed authentication (plugin or management) into returning a PUSH_REPLY before the AUTH_FAILED message, which can possibly be used to gather information about a VPN setup. In combination with "--auth-gen-token" or a user-specific token auth solution it can be possible to get access to a VPN with an otherwise-invalid account. OpenVPN 2.5.2 also includes other bug fixes and improvements. Updated OpenSSL and OpenVPN GUI are included in Windows installers.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages