Fonction LoadModule (winbase.h)
Charge et exécute une application ou crée un instance d’une application existante.
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 :
- Répertoire à partir duquel l’application a été chargée.
- Le répertoire actif.
- Répertoire du système. Utilisez la fonction GetSystemDirectory pour obtenir le chemin d’accès de ce répertoire.
- 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.
- Répertoire Windows. Utilisez la fonction GetWindowsDirectory pour obtenir le chemin d’accès de ce répertoire.
- 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 |
---|---|
|
Le système est en panne de mémoire ou de ressources. |
|
Le fichier .exe n’est pas valide. |
|
Le fichier spécifié est introuvable. |
|
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 |