Usar aplicativos de 16 bits com drivers de 32 bits

Importante

Esse recurso será removido em uma versão futura do Windows. Evite usar esse recurso em um novo trabalho de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Em vez disso, use o gerenciador de driver de 32 bits ou de 64 bits.

Você pode executar aplicativos de 16 bits com drivers de 32 bits em seu sistema baseado no Windows, desde que o driver de 32 bits não chame explicitamente as funções de API do Win32 que criam threads. O subsistema WOW (Windows no Windows) executa os aplicativos no modo de 16 bits e resolve chamadas de 16 bits para o sistema operacional. As DLLs de conversão ODBC resolve chamadas de 16 bits do aplicativo para drivers de 32 bits. Os aplicativos de 16 bits usam a API do Windows e os drivers de 32 bits usam a API do Win32.

Arquitetura

A ilustração a seguir mostra como os aplicativos de 16 bits se comunicam com drivers de 32 bits. Entre o Gerenciador de Driver de 16 bits e os drivers de 32 bits estão DLLs genéricas que convertem chamadas ODBC de 16 bits em chamadas ODBC de 32 bits.

Como os aplicativos de 16 bits se comunicam com drivers de 32 bits

Observação

Sempre que um aplicativo de 16 bits interage com um driver de 32 bits, o Gerenciador de Driver de 32 bits sempre retorna "2.0" como a versão do ODBC compatível com o driver.

Administração

Você pode gerenciar fontes de dados para drivers de 32 bits usando o Administrador de Fonte de Dados ODBC. Para abrir o Administrador ODBC em computadores que executam o Microsoft Windows 2000, abra o windows Painel de Controle, clique duas vezes em Ferramentas Administrativas e clique duas vezes em Fontes de Dados (ODBC). Em computadores que executam versões anteriores do Microsoft Windows, o ícone é chamado de ODBC de 32 bits ou simplesmente ODBC.

A ilustração a seguir mostra como um aplicativo de 16 bits chama uma DLL de configuração de driver de 32 bits. Entre a DLL do instalador de 16 bits e a DLL de instalação do driver de 32 bits, há uma DLL genérica que converte chamadas DLL do instalador de 16 bits em chamadas de DLL do instalador de 32 bits.

Como um aplicativo de 16 bits chama uma DLL de configuração de driver de 32 bits

No Windows no Windows (conversão de 16 bits a 32 bits), uma DLL de conversão adicional chamada Ds32gt.dll converte valores de argumento de 16 bits passados por meio de uma DLL de configuração de 32 bits de volta para 16 bits.

Componentes

O componente ODBC do SDK do MDAC 2.8 SP1 inclui os seguintes arquivos para executar aplicativos de 16 bits com drivers de 32 bits. Esses componentes estão no diretório \Redist.

Nome do arquivo Descrição
Odbc16gt.dll DLL genérica ODBC de 16 bits
Odbc32gt.dll DLL genérica ODBC de 32 bits
Odbccp32.dll DLL do instalador de 32 bits
Odbcad32.exe Programa administrador de 32 bits
Odbcinst.hlp Arquivo de Ajuda do Instalador
Ds16gt.dll DLL genérica de conversão genérica de configuração de driver de 16 bits
Ctl3d32.dll Biblioteca de estilos de janela tridimensional de 32 bits

Além disso, os arquivos a seguir, juntamente com o Gerenciador de Driver ODBC 2.10 de 16 bits, que não fazem parte do ODBC 3.51, são exigidos por e devem ser instalados com o aplicativo de 16 bits.

Nome do arquivo Descrição
Odbc.dll Gerenciador de Driver de 16 bits
Odbcinst.dll DLL do instalador de 16 bits
Odbcadm.exe Programa de administrador ODBC de 16 bits