Función LoadModule (winbase.h)

Carga y ejecuta una aplicación o crea una nueva instancia de una aplicación existente.

Nota Esta función solo se proporciona por compatibilidad con versiones de 16 bits de Windows. Las aplicaciones deben usar la función CreateProcess .
 

Sintaxis

DWORD LoadModule(
  [in] LPCSTR lpModuleName,
  [in] LPVOID lpParameterBlock
);

Parámetros

[in] lpModuleName

Nombre de archivo de la aplicación que se va a ejecutar. Al especificar una ruta de acceso, asegúrese de usar barras diagonales inversas (\), no barras diagonales (/). Si el parámetro lpModuleName no contiene una ruta de acceso de directorio, el sistema busca el archivo ejecutable en este orden:

  1. Directorio desde el que se cargó la aplicación.
  2. El directorio actual.
  3. Directorio del sistema. Use la función GetSystemDirectory para obtener la ruta de acceso de este directorio.
  4. Directorio del sistema de 16 bits. No hay ninguna función que obtenga la ruta de acceso de este directorio, pero se busca. El nombre de este directorio es System.
  5. El directorio de Windows. Use la función GetWindowsDirectory para obtener la ruta de acceso de este directorio.
  6. Los directorios que aparecen en la variable de entorno PATH.

[in] lpParameterBlock

Puntero a una estructura de LOADPARMS32 definida por la aplicación que define el bloque de parámetros de la nueva aplicación.

Establezca todos los miembros no usados en NULL, excepto lpCmdLine, que debe apuntar a una cadena terminada en null si no se usa. Para obtener más información, vea la sección Comentarios.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es mayor que 31.

Si se produce un error en la función, el valor devuelto es un valor de error, que puede ser uno de los valores siguientes.

Código o valor devuelto Descripción
0
El sistema no tiene memoria o recursos.
ERROR_BAD_FORMAT
11L
El archivo .exe no es válido.
ERROR_FILE_NOT_FOUND
T2l
No se encontró el archivo especificado.
ERROR_PATH_NOT_FOUND
3L
No se encontró la ruta de acceso especificada.

Comentarios

La estructura LOADPARMS32 tiene la siguiente forma:

typedef struct tagLOADPARMS32 { 
  LPSTR lpEnvAddress;  // address of environment strings 
  LPSTR lpCmdLine;     // address of command line 
  LPSTR lpCmdShow;     // how to show new program 
  DWORD dwReserved;    // must be zero 
} LOADPARMS32;
Miembro Significado
lpEnvAddress Puntero a una matriz de cadenas terminadas en NULL que proporcionan las cadenas de entorno para el nuevo proceso. La matriz tiene un valor NULL como última entrada. Un valor null para este parámetro hace que el nuevo proceso comience con el mismo entorno que el proceso de llamada.
lpCmdLine Puntero a una cadena de estilo Pascal que contiene una línea de comandos formada correctamente. El primer byte de la cadena contiene el número de bytes de la cadena. El resto de la cadena contiene los argumentos de la línea de comandos, excepto el nombre del proceso secundario. Si no hay argumentos de línea de comandos, este parámetro debe apuntar a una cadena de longitud cero; no puede ser NULL.
lpCmdShow Puntero a una estructura que contiene dos valores DE WORD . El primer valor siempre debe establecerse en dos. El segundo valor especifica cómo se va a mostrar la ventana de la aplicación y se usa para proporcionar el miembro wShowWindow de la estructura STARTUPINFO a la función CreateProcess . Vea la descripción del parámetro nCmdShow de la función ShowWindow para obtener una lista de valores aceptables.
dwReserved Este parámetro está reservado; debe ser cero.
 

Las aplicaciones deben usar la función CreateProcess en lugar de LoadModule. La función LoadModule llama a CreateProcess mediante la formación de los parámetros como se indica a continuación.

Parámetro CreateProcess Argumento usado
lpszApplicationName lpModuleName
lpszCommandLine lpParameterBlock. lpCmdLine
lpProcessAttributes NULL
lpThreadAttributes NULL
bInheritHandles FALSE
dwCreationFlags 0
lpEnvironment lpParameterBlock. lpEnvAddress
lpCurrentDirectory NULL
lpStartupInfo La estructura se inicializa en cero. El miembro cb se establece en el tamaño de la estructura. El miembro wShowWindow se establece en el valor de la segunda palabra de lpParameterBlock. lpCmdShow.
lpProcessInformation.hProcess El controlador se cierra inmediatamente.
lpProcessInformation.hThread El controlador se cierra inmediatamente.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

CreateProcess

Funciones de la biblioteca de vínculos dinámicos

GetSystemDirectory

GetWindowsDirectory