Partilhar via


Usando 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 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 on 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 resolvem 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 Win32.

Arquitetura

A ilustração a seguir mostra como 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 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 da Fonte de Dados ODBC. Para abrir o Administrador ODBC em computadores que executam o Microsoft Windows 2000, abra o Painel de Controle do Windows, 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 é uma DLL de conversão 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 (thunking de 16 bits a 32 bits), uma DLL adicional denominada Ds32gt.dll converte valores de argumento de 16 bits passados por 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 de conversão genérica ODBC de 16 bits
Odbc32gt.dll DLL de conversão 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 de configuração genérica do 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 necessários 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 administrador ODBC de 16 bits