Compartilhar via


LoadLibrary

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função mapeia o arquivo DLL especificado para o espaço de endereço da processo de chamada.

Syntax

HINSTANCE LoadLibrary(
  LPCTSTR lpLibFileName
);

Parameters

  • lpLibFileName
    [no] Ponteiro para uma seqüência de caracteres NULL-Terminated que nomes de arquivo DLL.

    O nome especificado é o nome arquivo do módulo e não está relacionado ao nome armazenado no biblioteca módulo propriamente dita, conforme especificado pelo Biblioteca palavra-chave no módulo-arquivo definição (.DEF).

    Se o seqüência de caracteres especifica um caminho, mas o arquivo não existe no Diretório especificado, a função falhará.

    Ao especificar um caminho, certifique-se de usar barras invertidas (\), não ENC barras (/).

    Se o seqüência de caracteres não especificar um caminho, a função usa um padrão estratégia pesquisa para localizar o arquivo. Para obter mais informações, consulte a seção " Comentários ".

Return Value

Um identificador para o módulo indica sucesso. NULL Indica falha. Para informações de erro estendidas get, chamar GetLastError.

Remarks

Para todas as plataformas

LoadLibrary Pode ser usado para fazer o seguinte:

  • Mapear um módulo DLL e retornar um identificador que pode ser usado em GetProcAddress para get o endereço de um função de DLL. Você precisará usar FreeLibrary sobre o identificador mais tarde.
  • Mapear outros módulos executáveis. De exemplo, a função pode especificar um arquivo .exe para get um identificador que pode ser usada em FindResource ou LoadResource.

Não uso LoadLibrary Para executar um arquivo .exe. Use a função CreateProcess.

Os aplicativos devem armazenar em cache o identificador retornado por LoadLibrary Para reduzir a necessidade de múltiplo chamadas redundante. Isso é de desempenho determinado valor ao trabalhar com os módulos MUI DLL, as bibliotecas serão necessárias ser carregado por múltiplo recursos.

Se o módulo é um DLL ainda não esteja mapeado para o processo de chamada, o sistema chama DllMain função do DLL com o valor DLL_PROCESS_ATTACH.

Em Windows Embedded CE, um DLL é carregado uma vez, mas, em seguida, é mapeado para espaço de endereço de cada processo quando um processo implicitamente ou explicitamente carrega a biblioteca com o LoadLibrary função.

Quando Windows Embedded CE carrega um DLL, todas as informações caminho são ignoradas quando determinar se o DLL já está carregado. Isso significa que um DLL com o mesmo nome, mas um caminho diferente somente pode ser carregado uma vez. Além disso, um módulo terminando com o .cpl extensão é tratado como se a extensão .dll.

Ele não é seguro para chamar LoadLibrary a partir DllMain.

Módulo alças não são globais ou herdadas. Um chamar para LoadLibrary por um processo não gerar um identificador que outro processo pode usar — de exemplo, em chamado GetProcAddress. O outro processo deve fazer sua própria chamar para LoadLibrary Para o módulo antes chamado GetProcAddress.

Dois módulos diferentes não podem ter o mesmo nome arquivo, mesmo se as extensões forem diferentes. Eles têm o mesmo nome módulo efetivamente. Por exemplo, se LoadLibrary é feita em Sample.cpl, o OS não carregar Sample.cpl, mas em vez disso, carrega Sample.dll novamente.

Uma limitação semelhante existe para módulos com o mesmo nome mas que residem em diretórios diferentes. Por exemplo, se LoadLibrary é chamado em \\Windows\Sample.dll e, em seguida, LoadLibrary é chamado em \\MyDir\Sample.dll, simplesmente vai ser recarregado \\Windows\Sample.dll.

Se nenhuma extensão de nome de arquivo for especificado na lpLibFileName parâmetro, o usar como padrão biblioteca extensão .dll é acrescentado. Entretanto, o seqüência de caracteres nome arquivo podem incluir um caractere à direita apontar (.) para indicar que o nome módulo não tem nenhuma extensão.

Um caminho para o módulo executável pesquisa não pode ser especificado.

A menos que o caminho completo para o módulo é especificado, Windows Embedded CE procura o seguinte caminho para o módulo:

  • O caminho absoluto especificado pelo lpLibFileName parâmetro.
  • Diretório a iniciar .exe.
  • O diretório do Windows.
  • Arquivos ROM DLL.
  • Um caminho OEM-specified pesquisa.

A seguinte subchave Registro especifica um caminho pesquisa a ser usado com LoadLibrary e CreateProcess:

HKEY_LOCAL_MACHINE\Loader
   SystemPath=multi_sz:\\path1\\
                       \\path2\\

O caminho é pesquisado somente se o caminho do arquivo sendo procurou não estiver explicitamente especificada.

O comprimento total das SystemPath valor não deve exceder 260 caracteres. Se afirmativo, o caminho será ignorado.

Uma alteração para o SystemPath chave não terá efeito até que seja um dispositivo baseado em Windows Embedded CE redefinir.

Para Mobile Windows

**Ao carregar um DLL de um processo, a executar modo do DLL depende de executar modo do processo. A seguinte tabela mostra a executar modo de DLL depending on se o processo de chamada é de confiança ou não confiáveis.

Executar processo (.exe) modo Executar DLL confiável modo Executar DLL não confiável modo

Confiável

DLL carrega como de confiança.

DLL não carregado.

Não confiável

DLL carrega como não confiáveis.

DLL carregado como não confiáveis.

Para obter informações sobre o modelo de segurança usado em dispositivos Windows Mobile powered , consulte Windows Mobile Powered Device Security Model.

Para Windows incorporado CE

Ao carregar um DLL de um processo, a executar modo do DLL depende de executar modo do processo. A seguinte tabela mostra a executar modo de DLL depending on se o processo de chamada é privilegiado ou normal.

Executar processo (.exe) modo Executar DLL privilegiado modo Normal DLL executar modo

Privilegiado

DLL carrega como privilegiado.

DLL não carregado.

Normal

DLL carrega como Normal.

DLL carregado como Normal.

Requirements

Header winbase.h
Library coredll.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

DLL Functions
CreateProcess
DllMain
FreeLibrary
GetProcAddress

Other Resources

Loader
MODULES Section
Romimage