Partilhar via


Identificando funções em DLLs

A identidade de uma função DLL consiste nos seguintes elementos:

  • Nome da função ou ordinal

  • Nome do arquivo DLL no qual a implementação pode ser encontrada

Por exemplo, especificar a função MessageBox no User32.dll identifica a função (MessageBox) e sua localização (User32.dll, User32 ou user32). A interface de programação de aplicativos do Microsoft Windows (API do Windows) pode conter duas versões de cada função que manipula caracteres e cadeias de caracteres: uma versão ANSI de caracteres de 1 byte e uma versão Unicode de caracteres de 2 bytes. Quando não especificado, o conjunto de caracteres, representado pelo campo, assume como CharSet padrão ANSI. Algumas funções podem ter mais de duas versões.

MessageBoxA é o ponto de entrada ANSI para a função MessageBox ; MessageBoxW é a versão Unicode. Você pode listar nomes de função para uma DLL específica, como user32.dll, executando uma variedade de ferramentas de linha de comando. Por exemplo, você pode usar dumpbin /exports user32.dll ou link /dump /exports user32.dll obter nomes de funções.

Você pode renomear uma função não gerenciada para o que quiser dentro do seu código, desde que mapeie o novo nome para o ponto de entrada original na DLL. Para obter instruções sobre como renomear uma função DLL não gerenciada no código-fonte gerenciado, consulte Especificando um ponto de entrada.

A invocação de plataforma permite controlar uma parte significativa do sistema operacional chamando funções na API do Windows e outras DLLs. Além da API do Windows, existem várias outras APIs e DLLs disponíveis para você por meio da invocação de plataforma.

A tabela a seguir descreve várias DLLs comumente usadas na API do Windows.

DLL Descrição do Índice
GDI32.dll Funções GDI (Graphics Device Interface) para saída de dispositivos, como as de desenho e gerenciamento de fontes.
Kernel32.dll Funções de baixo nível do sistema operacional para gerenciamento de memória e manipulação de recursos.
User32.dll Funções de gerenciamento do Windows para manipulação de mensagens, temporizadores, menus e comunicações.

Para obter a documentação completa sobre a API do Windows, consulte o Platform SDK. Para exemplos que demonstram como construir . Declarações baseadas em NET a serem usadas com invocação de plataforma, consulte Marshalling Data with Platform Invoke.

Consulte também