LoadLibrary e AfxLoadLibrary
De telefonar de processosLoadLibrary (or AfxLoadLibrary) para vincular-se explicitamente a uma DLL. Se for bem sucedida, a função mapeia a DLL especificada para o espaço de endereço do processo de chamada e retorna um identificador para a DLL pode ser usada com outras funções usadas em explícita de vinculação, sistema autônomo GetProcAddress and FreeLibrary.
LoadLibrary tenta localizar a DLL usando a mesma sequência de Pesquisar usada para vinculação implícita.Se o sistema não pode localizar a DLL ou se a função de ponto de entrada falso, retornará LoadLibrary retorna nulo.Se a telefonar para LoadLibrary Especifica um módulo DLL já está mapeado no espaço de endereço do processo de telefonar, a função simplesmente retorna um identificador da DLL e incrementos de contagem de referência do módulo.
Se a DLL tem uma função de ponto de entrada, o sistema operacional chama a função no contexto do segmento que chamado LoadLibrary.A função de ponto de entrada não é telefonar se a DLL já está anexada ao processo por causa de uma telefonar anterior a LoadLibrary com nenhuma telefonar correspondente para o FreeLibrary função.
Aplicativos MFC carregar DLLs de extensão devem usar AfxLoadLibrary em vez de LoadLibrary.AfxLoadLibrary alças de sincronização antes da chamada do thread LoadLibrary.A interface (protótipo de função) AfxLoadLibrary é o mesmo sistema autônomo LoadLibrary.
Se por algum motivo, o Windows não pode carregar a DLL, o processo pode tentar corrigir o erro.Por exemplo, o processo pode notificar o usuário sobre o erro e que o usuário especifique outro caminho para a DLL.
Observação de segurança: |
---|
Se o código é executado no Windows NT 4, Windows 2000 ou Windows XP (anterior ao SP1), certifique-se de especificar o nome do caminho completo de quaisquer DLLs.Nesses sistemas operacionais, o diretório corrente é pesquisado primeiro ao carregar arquivos.Se você não fizer isso qualidade pode ser carregado o caminho do arquivo, um arquivo que não foi desenvolvida. |