Funzione LoadModule (winbase.h)

Carica ed esegue un'applicazione o crea una nuova istanza di un'applicazione esistente.

Nota Questa funzione viene fornita solo per la compatibilità con le versioni a 16 bit di Windows. Le applicazioni devono usare la funzione CreateProcess .
 

Sintassi

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

Parametri

[in] lpModuleName

Nome file dell'applicazione da eseguire. Quando si specifica un percorso, assicurarsi di usare le barre rovesciata (\), non le barre in avanti (/). Se il parametro lpModuleName non contiene un percorso di directory, il sistema cerca il file eseguibile in questo ordine:

  1. Directory da cui è stata caricata l'applicazione.
  2. La directory corrente.
  3. Directory di sistema. Usare la funzione GetSystemDirectory per ottenere il percorso di questa directory.
  4. Directory di sistema a 16 bit. Non esiste alcuna funzione che ottiene il percorso di questa directory, ma viene eseguita la ricerca. Il nome di questa directory è System.
  5. La directory Windows. Usare la funzione GetWindowsDirectory per ottenere il percorso di questa directory.
  6. Directory elencate nella variabile di ambiente PATH.

[in] lpParameterBlock

Puntatore a una struttura di LOADPARMS32 definita dall'applicazione che definisce il blocco di parametri della nuova applicazione.

Impostare tutti i membri inutilizzati su NULL, ad eccezione di lpCmdLine, che deve puntare a una stringa con terminazione null se non viene usata. Per altre informazioni, vedere la sezione Osservazioni.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è maggiore di 31.

Se la funzione ha esito negativo, il valore restituito è un valore di errore, che può essere uno dei valori seguenti.

Codice/valore restituito Descrizione
0
Il sistema non è in memoria o risorse.
ERROR_BAD_FORMAT
11L
Il file .exe non è valido.
ERROR_FILE_NOT_FOUND
2L
Il file specificato non è stato trovato.
ERROR_PATH_NOT_FOUND
3L
Il percorso specificato non è stato trovato.

Commenti

La struttura LOADPARMS32 ha il formato seguente:

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;
Membro Significato
lpEnvAddress Puntatore a una matrice di stringhe con terminazione null che forniscono le stringhe di ambiente per il nuovo processo. La matrice ha un valore NULL come ultima voce. Un valore null per questo parametro causa l'avvio del nuovo processo con lo stesso ambiente del processo chiamante.
lpCmdLine Puntatore a una stringa in stile Pascal che contiene una riga di comando configurata correttamente. Il primo byte della stringa contiene il numero di byte nella stringa. Il resto della stringa contiene gli argomenti della riga di comando, esclusi il nome del processo figlio. Se non sono presenti argomenti della riga di comando, questo parametro deve puntare a una stringa di lunghezza zero; non può essere NULL.
lpCmdShow Puntatore a una struttura contenente due valori WORD . Il primo valore deve essere sempre impostato su due. Il secondo valore specifica la modalità di visualizzazione della finestra dell'applicazione e viene usato per fornire il membro wShowWindow della struttura STARTUPINFO alla funzione CreateProcess . Per un elenco di valori accettabili, vedere la descrizione del parametro nCmdShow della funzione ShowWindow .
dwReserved Questo parametro è riservato; deve essere zero.
 

Le applicazioni devono usare la funzione CreateProcess anziché LoadModule. La funzione LoadModule chiama CreateProcess formando i parametri come indicato di seguito.

Parametro CreateProcess Argomento usato
lpszApplicationName lpModuleName
lpszCommandLine lpParameterBlock. lpCmdLine
lpProcessAttributes NULL
lpThreadAttributes NULL
bInheritHandles FALSE
dwCreationFlags 0
lpEnvironment lpParameterBlock. lpEnvAddress
lpCurrentDirectory NULL
lpStartupInfo La struttura viene inizializzata su zero. Il membro cb è impostato sulle dimensioni della struttura. Il membro wShowWindow è impostato sul valore della seconda parola di lpParameterBlock. lpCmdShow.
lpProcessInformation.hProcess L'handle viene chiuso immediatamente.
lpProcessInformation.hThread L'handle viene chiuso immediatamente.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

CreateProcess

Funzioni della libreria a collegamento dinamico

GetSystemDirectory

GetWindowsDirectory