Compartilhar via


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

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

Se você quiser 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 para tentar o 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 é inicializado

  • 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 carregado com atraso