Partilhar via


Descarregar uma DLL carregados de atraso

O auxiliar de carregamento de atraso fornecido pelo padrão verifica se os descritores de carregamento de atraso tem um ponteiro e uma cópia da tabela de endereço de importação original (IAT) no campo pUnloadIAT.Em caso afirmativo, ele salvará um ponteiro em uma lista para o descritor de atraso de importação.Isso permite que a função auxiliar localizar a DLL por nome, para oferecer suporte ao descarregar essa DLL explicitamente.

Eis as funções para descarregar uma DLL carregada atraso explicitamente e estruturas associadas:

//
// Unload support from delayimp.h
//

// routine definition; takes a pointer to a name to unload

ExternC
BOOL WINAPI
__FUnloadDelayLoadedDLL2(LPCSTR szDll);

// structure definitions for the list of unload records
typedef struct UnloadInfo * PUnloadInfo;
typedef struct UnloadInfo {
    PUnloadInfo     puiNext;
    PCImgDelayDescr pidd;
    } UnloadInfo;

// from delayhlp.cpp
// the default delay load helper places the unloadinfo records in the 
// list headed by the following pointer.
ExternC
PUnloadInfo __puiHead;

A estrutura UnloadInfo é implementada usando uma classe C++ que usa LocalAlloc and LocalFree implementações sistema autônomo seu operador novo e operador Excluir respectivamente.Essas opções são mantidas em uma lista vinculada padrão usando __puiHead sistema autônomo a cabeça da lista.

Chamada __FUnloadDelayLoadedDLL tentará localizar o nome é fornecer na lista de DLLs carregadas (uma correspondência exata é necessária).Se encontrado, a cópia do IAT em pUnloadIAT será copiada sobre o topo do IAT em execução restauração os ponteiros de conversão, a biblioteca é liberada com FreeLibrary, a correspondência UnloadInfo registro é desvinculado da lista e excluídos, e é retornado verdadeiro.

O argumento para a função __FUnloadDelayLoadedDLL2 faz distinção entre maiúsculas e minúsculas.Por exemplo, você poderia especificar:

__FUnloadDelayLoadedDLL2("user32.DLL");

e não:

__FUnloadDelayLoadedDLL2("User32.DLL");.

Consulte também

Referência

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