You can run 16-bit applications with 32-bit drivers on Windows NT and on Windows 95, as long as the 32-bit driver does not explicitly call Win32 API functions that create threads. The Windows on Windows (WOW) subsystem runs the applications in 16-bit mode and resolves 16-bit calls to the operating system. ODBC thunking DLLs resolve 16-bit calls from the application to 32-bit drivers. The 16-bit applications use the Windows API and 32-bit drivers use the Win32 API.
The following figure shows how 16-bit applications communicate with 32-bit drivers. Between the 16-bit Driver Manager and the 32-bit drivers are generic thunking DLLs that convert 16-bit ODBC calls to 32-bit ODBC calls.
Using 16-bit applications with 32-bit drivers
Note Any time a 16-bit application interacts with a 32-bit driver, the 32-bit Driver Manager always returns “2.0” as the version of ODBC supported by the driver.
You can manage data sources for 32-bit drivers by using the ODBC Control Panel device, the ODBC Administrator program, or the 32-bit ODBC Administrator program.
The following figure shows how a 16-bit application calls a 32-bit driver setup DLL. Between the 16-bit installer DLL and the 32-bit driver setup DLL is a generic thunking DLL that converts 16-bit installer DLL calls to 32-bit installer DLL calls.
Using 16-bit applications with 32-bit driver setup DLLs
In Windows on Windows (16-bit to 32-bit thunking), an additional thunking DLL named Ds32gt.dll converts 16-bit argument values passed through a 32-bit setup DLL back to 16-bit.
The ODBC component of the Data Access SDK includes the following components for running 16-bit applications with 32-bit drivers. These components are in the \Redist directory.
File | Name |
ODBC16GT.DLL | 16-bit ODBC generic thunking DLL |
ODBC32GT.DLL | 32-bit ODBC generic thunking DLL |
ODBCCP32.DLL | 32-bit installer DLL |
ODBCAD32.EXE | 32-bit Administrator program |
ODBCINST.HLP | Installer Help file |
DS16GT.DLL | 16-bit driver setup generic thunking DLL |
CTL3D32.DLL | 32-bit three-dimensional window style library |
In addition, the following files along with the 16-bit ODBC 2.10 Driver Manager, which are not part of ODBC 3.51, are required by and should be installed with the 16-bit application.
File | Name |
ODBC.DLL | 16-bit Driver Manager |
ODBCINST.DLL | 16-bit installer DLL |
ODBCADM.EXE | 16-bit Administrator program |