Share via


Fonction LoadModule (winbase.h)

Charge et exécute une application ou crée un instance d’une application existante.

Note Cette fonction est fournie uniquement pour la compatibilité avec les versions 16 bits de Windows. Les applications doivent utiliser la fonction CreateProcess .
 

Syntaxe

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

Paramètres

[in] lpModuleName

Nom de fichier de l’application à exécuter. Lorsque vous spécifiez un chemin d’accès, veillez à utiliser des barres obliques inverses (\), et non des barres obliques (/). Si le paramètre lpModuleName ne contient pas de chemin de répertoire, le système recherche le fichier exécutable dans cet ordre :

  1. Répertoire à partir duquel l’application a été chargée.
  2. Le répertoire actif.
  3. Répertoire du système. Utilisez la fonction GetSystemDirectory pour obtenir le chemin d’accès de ce répertoire.
  4. Répertoire système 16 bits. Aucune fonction n’obtient le chemin d’accès de ce répertoire, mais elle fait l’objet d’une recherche. Le nom de ce répertoire est System.
  5. Répertoire Windows. Utilisez la fonction GetWindowsDirectory pour obtenir le chemin d’accès de ce répertoire.
  6. Répertoires répertoriés dans la variable d’environnement PATH.

[in] lpParameterBlock

Pointeur vers une structure de LOADPARMS32 définie par l’application qui définit le bloc de paramètres de la nouvelle application.

Définissez tous les membres inutilisés sur NULL, à l’exception de lpCmdLine, qui doit pointer vers une chaîne terminée par null si elle n’est pas utilisée. Pour plus d'informations, consultez la section Notes.

Valeur retournée

Si la fonction réussit, la valeur de retour est supérieure à 31.

Si la fonction échoue, la valeur de retour est une valeur d’erreur, qui peut être l’une des valeurs suivantes.

Code/valeur de retour Description
0
Le système est en panne de mémoire ou de ressources.
ERROR_BAD_FORMAT
11L
Le fichier .exe n’est pas valide.
ERROR_FILE_NOT_FOUND
2L
Le fichier spécifié est introuvable.
ERROR_PATH_NOT_FOUND
3L
Le chemin spécifié est introuvable.

Remarques

La structure LOADPARMS32 se présente sous la forme suivante :

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;
Membre Signification
lpEnvAddress Pointeur vers un tableau de chaînes terminées par null qui fournissent les chaînes d’environnement pour le nouveau processus. Le tableau a la valeur NULL comme dernière entrée. La valeur NULL pour ce paramètre entraîne le démarrage du nouveau processus avec le même environnement que le processus appelant.
lpCmdLine Pointeur vers une chaîne de style Pascal qui contient une ligne de commande correctement formée. Le premier octet de la chaîne contient le nombre d’octets dans la chaîne. Le reste de la chaîne contient les arguments de ligne de commande, à l’exclusion du nom du processus enfant. S’il n’existe aucun argument de ligne de commande, ce paramètre doit pointer vers une chaîne de longueur nulle ; il ne peut pas être NULL.
lpCmdShow Pointeur vers une structure contenant deux valeurs WORD . La première valeur doit toujours être définie sur deux. La deuxième valeur spécifie comment la fenêtre d’application doit être affichée et est utilisée pour fournir le membre wShowWindow de la structure STARTUPINFO à la fonction CreateProcess . Pour obtenir la liste des valeurs acceptables, consultez la description du paramètre nCmdShow de la fonction ShowWindow .
dwReserved Ce paramètre est réservé ; il doit être égal à zéro.
 

Les applications doivent utiliser la fonction CreateProcess au lieu de LoadModule. La fonction LoadModule appelle CreateProcess en formant les paramètres comme suit.

Paramètre CreateProcess Argument utilisé
lpszApplicationName lpModuleName
lpszCommandLine lpParameterBlock. lpCmdLine
lpProcessAttributes NULL
lpThreadAttributes NULL
bInheritHandles FALSE
dwCreationFlags 0
lpEnvironnement lpParameterBlock. lpEnvAddress
lpCurrentDirectory NULL
lpStartupInfo La structure est initialisée à zéro. Le membre cb est défini sur la taille de la structure. Le membre wShowWindow est défini sur la valeur du deuxième mot de lpParameterBlock. lpCmdShow.
lpProcessInformation.hProcess Le handle est immédiatement fermé.
lpProcessInformation.hThread Le handle est immédiatement fermé.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

CreateProcess

Fonctions de bibliothèque de liens dynamiques

GetSystemDirectory

GetWindowsDirectory