Compartilhar via


Função LoadPackagedLibrary (winbase.h)

Carrega o módulo empacotado especificado e suas dependências no espaço de endereço do processo de chamada.

Sintaxe

HMODULE LoadPackagedLibrary(
  [in] LPCWSTR lpwLibFileName,
       DWORD   Reserved
);

Parâmetros

[in] lpwLibFileName

O nome do arquivo do módulo empacotado a ser carregado. O módulo pode ser um módulo de biblioteca (um arquivo .dll) ou um módulo executável (um arquivo .exe).

Se esse parâmetro especificar um nome de módulo sem um caminho e a extensão de nome de arquivo for omitida, a função acrescentará a extensão de biblioteca padrão .dll ao nome do módulo. Para impedir que a função acrescente .dll ao nome do módulo, inclua um caractere de ponto à direita (.) na cadeia de caracteres de nome do módulo.

Se esse parâmetro especificar um caminho, a função pesquisará esse caminho para o módulo. O caminho não pode ser um caminho absoluto ou um caminho relativo que contenha ".." no caminho. Ao especificar um caminho, use barras invertidas (\), não barras (/). Para obter mais informações sobre caminhos, consulte Nomenclatura de arquivos, caminhos e namespaces.

Se o módulo especificado já estiver carregado no processo, a função retornará um identificador para o módulo carregado. O módulo deve ter sido originalmente carregado do grafo de dependência do pacote do processo.

Se o carregamento do módulo especificado fizer com que o sistema carregue outros módulos associados, a função primeiro pesquisa módulos carregados e pesquisa o grafo de dependência do pacote do processo. Para obter mais informações, consulte Comentários.

Reserved

Esse parâmetro é reservado. Deve ser 0.

Retornar valor

Se a função for bem-sucedida, o valor retornado será um identificador para o módulo carregado.

Se a função falhar, o valor retornado será NULL. Para obter informações de erro estendidas, chame GetLastError.

Comentários

A função LoadPackagedLibrary é uma versão simplificada de LoadLibraryEx. Os aplicativos empacotados podem usar LoadPackagedLibrary para carregar módulos empacotados. Aplicativos não empacotados não podem usar LoadPackagedLibrary; se um aplicativo não empacotado chamar essa função, ele falhará com APPMODEL_ERROR_NO_PACKAGE.

LoadPackagedLibrary retorna um identificador para o módulo especificado e incrementa sua contagem de referência. Se o módulo já estiver carregado, a função retornará um identificador para o módulo carregado. O processo de chamada pode usar o identificador retornado por LoadPackagedLibrary para identificar o módulo em chamadas para a função GetProcAddress . Use a função FreeLibrary para liberar um módulo carregado e diminuir sua contagem de referência.

Se a função precisar pesquisar o módulo especificado ou suas dependências, ela pesquisará apenas o grafo de dependência do pacote do processo. Esse é o pacote do aplicativo mais as dependências especificadas como <PackageDependency> na <Dependencies> seção do manifesto do pacote do aplicativo. As dependências são pesquisadas na ordem em que aparecem no manifesto. O grafo de dependência do pacote é especificado na <Dependencies> seção do manifesto do pacote do aplicativo. As dependências são pesquisadas na ordem em que aparecem no manifesto. A pesquisa prossegue da seguinte maneira:

  1. A função pesquisa primeiro os módulos que já estão carregados. Se o módulo especificado tiver sido originalmente carregado do grafo de dependência do pacote do processo, a função retornará um identificador para o módulo carregado. Se o módulo especificado não tiver sido carregado do grafo de dependência do pacote do processo, a função retornará NULL.
  2. Se o módulo ainda não estiver carregado, a função pesquisará o grafo de dependência do pacote do processo.
  3. Se a função não puder encontrar o módulo especificado ou uma de suas dependências, a função falhará.
Não é seguro chamar LoadPackagedLibrary de DllMain. Para obter mais informações, consulte a seção Comentários em DllMain.

Observação

No Windows Phone, LoadPackagedLibrary deve ser chamado de PhoneAppModelHost.dll. Não há suporte para o uso Kernel32.dll do .

Requisitos

   
Cliente mínimo com suporte Windows 8 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho winbase.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Ordem de pesquisa da biblioteca de vínculo dinâmico