LoadModule-Funktion (winbase.h)

Lädt und führt eine Anwendung aus oder erstellt eine neue instance einer vorhandenen Anwendung.

Hinweis Diese Funktion wird nur aus Gründen der Kompatibilität mit 16-Bit-Versionen von Windows bereitgestellt. Anwendungen sollten die CreateProcess-Funktion verwenden.
 

Syntax

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

Parameter

[in] lpModuleName

Der Dateiname der auszuführenden Anwendung. Achten Sie beim Angeben eines Pfads darauf, umgekehrte Schrägstriche (\) und keine Schrägstriche (/) zu verwenden. Wenn der lpModuleName-Parameter keinen Verzeichnispfad enthält, sucht das System in der folgenden Reihenfolge nach der ausführbaren Datei:

  1. Das Verzeichnis, aus dem die Anwendung geladen wurde.
  2. Das aktuelle Verzeichnis.
  3. Das Systemverzeichnis Verwenden Sie die GetSystemDirectory-Funktion , um den Pfad dieses Verzeichnisses abzurufen.
  4. Das 16-Bit-Systemverzeichnis. Es gibt keine Funktion, die den Pfad dieses Verzeichnisses abruft, aber er wird durchsucht. Der Name dieses Verzeichnisses lautet System.
  5. Das Windows-Verzeichnis. Verwenden Sie die GetWindowsDirectory-Funktion , um den Pfad dieses Verzeichnisses abzurufen.
  6. Die Verzeichnisse, die in der PATH-Umgebungsvariablen aufgeführt sind.

[in] lpParameterBlock

Ein Zeiger auf eine anwendungsdefinierte LOADPARMS32 Struktur, die den Parameterblock der neuen Anwendung definiert.

Legen Sie alle nicht verwendeten Member auf NULL fest, mit Ausnahme von lpCmdLine, das auf eine null-endende Zeichenfolge verweisen muss, wenn sie nicht verwendet wird. Weitere Informationen finden Sie in den Hinweisen.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert größer als 31.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Fehlerwert, der einer der folgenden Werte sein kann.

Rückgabecode/-wert BESCHREIBUNG
0
Das System verfügt nicht über genügend Arbeitsspeicher oder Ressourcen.
ERROR_BAD_FORMAT
11L
Die .exe-Datei ist ungültig.
ERROR_FILE_NOT_FOUND
2L
Die angegebene Datei wurde nicht gefunden.
ERROR_PATH_NOT_FOUND
3L
Der angegebene Pfad wurde nicht gefunden.

Hinweise

Die LOADPARMS32-Struktur hat die folgende Form:

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;
Mitglied Bedeutung
lpEnvAddress Zeiger auf ein Array mit NULL-Zeichenfolgen, die die Umgebungszeichenfolgen für den neuen Prozess bereitstellen. Das Array hat den Wert NULL als letzten Eintrag. Der Wert NULL für diesen Parameter bewirkt, dass der neue Prozess mit derselben Umgebung wie der aufrufende Prozess beginnt.
lpCmdLine Zeiger auf eine Zeichenfolge im Pascal-Stil, die eine korrekt formatierte Befehlszeile enthält. Das erste Byte der Zeichenfolge enthält die Anzahl der Bytes in der Zeichenfolge. Der Rest der Zeichenfolge enthält die Befehlszeilenargumente, mit Ausnahme des Namens des untergeordneten Prozesses. Wenn keine Befehlszeilenargumente vorhanden sind, muss dieser Parameter auf eine Zeichenfolge der Länge Null zeigen. Es darf nicht NULL sein.
lpCmdShow Zeiger auf eine Struktur, die zwei WORD-Werte enthält. Der erste Wert muss immer auf zwei festgelegt werden. Der zweite Wert gibt an, wie das Anwendungsfenster angezeigt werden soll, und wird verwendet, um das wShowWindow-Element der STARTUPINFO-Struktur für die CreateProcess-Funktion anzugeben. Eine Liste der zulässigen Werte finden Sie in der Beschreibung des nCmdShow-Parameters der ShowWindow-Funktion .
dwReserved Dieser Parameter ist reserviert. sie muss 0 (null) sein.
 

Anwendungen sollten die CreateProcess-Funktion anstelle von LoadModule verwenden. Die LoadModule-Funktion ruft CreateProcess auf, indem die Parameter wie folgt geformt werden.

CreateProcess-Parameter Verwendetes Argument
lpszApplicationName lpModuleName
lpszCommandLine lpParameterBlock. lpCmdLine
lpProcessAttributes NULL
lpThreadAttributes NULL
bInheritHandles FALSE
dwCreationFlags 0
lpEnvironment lpParameterBlock. lpEnvAddress
lpCurrentDirectory NULL
lpStartupInfo Die -Struktur wird mit 0 (null) initialisiert. Das cb-Element wird auf die Größe der -Struktur festgelegt. Das wShowWindow-Element wird auf den Wert des zweiten Worts lpParameterBlock festgelegt. lpCmdShow.
lpProcessInformation.hProcess Das Handle wird sofort geschlossen.
lpProcessInformation.hThread Das Handle wird sofort geschlossen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CreateProcess

Dynamic-Link-Bibliotheksfunktionen

GetSystemDirectory

GetWindowsDirectory