Partilhar via


Noções básicas sobre a função auxiliar

A função auxiliar para suporte de vinculador carregamento atrasado é o que realmente carrega a DLL em tempo de execução. Você pode modificar a função auxiliar para personalizar seu comportamento escrever sua própria função e vinculando-o para o seu programa em vez de usar a função auxiliar fornecido em Delayimp.lib. Uma função auxiliar serve todas as DLLs de atraso carregado.

Se você deseja fazer o processamento específico, com base nos nomes da DLL ou imports, você pode fornecer sua própria versão da função auxiliar.

A função auxiliar realiza as seguintes ações:

  • Verifica a alça armazenada para a biblioteca para ver se ele já foi carregado

  • Chamadas LoadLibrary tentativa de carregamento da DLL

  • Chamadas GetProcAddress para tentar obter o endereço do procedimento

  • Retorna para a importação de atraso carregar thunk para chamar o ponto de entrada carregado agora

A função auxiliar pode retornar a chamada um gancho de notificação no seu programa após cada uma das seguintes ações:

  • Quando a função auxiliar é iniciado

  • Antes LoadLibrary é chamado na função auxiliar

  • Antes GetProcAddress é chamado na função auxiliar

  • Se a chamada para LoadLibrary na função auxiliar falhou

  • Se a chamada para GetProcAddress na função auxiliar falhou

  • Após o auxiliar a função é feita processamento

Cada um desses pontos de gancho pode retornar um valor que irá alterar o processamento normal da rotina auxiliar de alguma maneira, exceto o retorno para a conversão de carga de importação de atraso.

O código do auxiliar de padrão pode ser encontrado no Delayhlp.cpp e Delayimp.h (vc\include) e é compilado em Delayimp.lib (em vc\lib). Você precisará incluir esta biblioteca em suas compilações, a menos que você escrever sua própria função auxiliar.

Os tópicos a seguir descrevem a função auxiliar:

Consulte também

Conceitos

Suporte de vinculador para DLLs carregadas de atraso