Compartir a través de


Función LoadPackagedLibrary (winbase.h)

Carga el módulo empaquetado especificado y sus dependencias en el espacio de direcciones del proceso de llamada.

Sintaxis

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

Parámetros

[in] lpwLibFileName

Nombre de archivo del módulo empaquetado que se va a cargar. El módulo puede ser un módulo de biblioteca (un archivo .dll) o un módulo ejecutable (un archivo .exe).

Si este parámetro especifica un nombre de módulo sin una ruta de acceso y se omite la extensión de nombre de archivo, la función anexa la extensión de biblioteca predeterminada .dll al nombre del módulo. Para evitar que la función anexe .dll al nombre del módulo, incluya un carácter de punto final (.) en la cadena de nombre del módulo.

Si este parámetro especifica una ruta de acceso, la función busca esa ruta de acceso para el módulo. La ruta de acceso no puede ser una ruta de acceso absoluta ni una ruta de acceso relativa que contenga ".." en la ruta de acceso. Al especificar una ruta de acceso, asegúrese de usar barras diagonales inversas (\), no barras diagonales (/). Para obtener más información sobre las rutas de acceso, vea Asignar nombres a archivos, rutas de acceso y espacios de nombres.

Si el módulo especificado ya está cargado en el proceso, la función devuelve un identificador al módulo cargado. El módulo debe haberse cargado originalmente desde el gráfico de dependencias del paquete del proceso.

Si cargar el módulo especificado hace que el sistema cargue otros módulos asociados, la función busca primero los módulos cargados y, a continuación, busca en el gráfico de dependencias del paquete del proceso. Para obtener más información, vea la sección Comentarios.

Reserved

Este parámetro está reservado. Debe ser 0.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un identificador para el módulo cargado.

Si se produce un error en la función, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.

Comentarios

La función LoadPackagedLibrary es una versión simplificada de LoadLibraryEx. Las aplicaciones empaquetadas pueden usar LoadPackagedLibrary para cargar módulos empaquetados. Las aplicaciones sin empaquetar no pueden usar LoadPackagedLibrary; si una aplicación desempaquetada llama a esta función, se produce un error con APPMODEL_ERROR_NO_PACKAGE.

LoadPackagedLibrary devuelve un identificador al módulo especificado e incrementa su recuento de referencias. Si el módulo ya está cargado, la función devuelve un identificador al módulo cargado. El proceso de llamada puede usar el identificador devuelto por LoadPackagedLibrary para identificar el módulo en llamadas a la función GetProcAddress . Use la función FreeLibrary para liberar un módulo cargado y disminuir su recuento de referencias.

Si la función debe buscar el módulo especificado o sus dependencias, busca solo el gráfico de dependencias del paquete del proceso. Este es el paquete de la aplicación más las dependencias especificadas como <PackageDependency> en la <Dependencies> sección del manifiesto del paquete de la aplicación. Las dependencias se buscan en el orden en que aparecen en el manifiesto. El gráfico de dependencias del paquete se especifica en la <Dependencies> sección del manifiesto del paquete de la aplicación. Las dependencias se buscan en el orden en que aparecen en el manifiesto. La búsqueda continúa de la siguiente manera:

  1. La función busca primero los módulos que ya están cargados. Si el módulo especificado se cargó originalmente desde el gráfico de dependencias del paquete del proceso, la función devuelve un identificador al módulo cargado. Si el módulo especificado no se cargó desde el gráfico de dependencias del paquete del proceso, la función devuelve NULL.
  2. Si el módulo aún no está cargado, la función busca en el gráfico de dependencias del paquete del proceso.
  3. Si la función no encuentra el módulo especificado o una de sus dependencias, se produce un error en la función.
No es seguro llamar a LoadPackagedLibrary desde DllMain. Para obtener más información, vea la sección Comentarios en DllMain.

Nota

En Windows Phone, se debe llamar a LoadPackagedLibrary desde PhoneAppModelHost.dll. No se admite el uso Kernel32.dll de .

Requisitos

   
Cliente mínimo compatible Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winbase.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Orden de búsqueda de la biblioteca de vínculos dinámicos