LoadModule-Funktion (winbase.h)
Lädt und führt eine Anwendung aus oder erstellt eine neue instance einer vorhandenen Anwendung.
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:
- Das Verzeichnis, aus dem die Anwendung geladen wurde.
- Das aktuelle Verzeichnis.
- Das Systemverzeichnis Verwenden Sie die GetSystemDirectory-Funktion , um den Pfad dieses Verzeichnisses abzurufen.
- Das 16-Bit-Systemverzeichnis. Es gibt keine Funktion, die den Pfad dieses Verzeichnisses abruft, aber er wird durchsucht. Der Name dieses Verzeichnisses lautet System.
- Das Windows-Verzeichnis. Verwenden Sie die GetWindowsDirectory-Funktion , um den Pfad dieses Verzeichnisses abzurufen.
- 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 |
---|---|
|
Das System verfügt nicht über genügend Arbeitsspeicher oder Ressourcen. |
|
Die .exe-Datei ist ungültig. |
|
Die angegebene Datei wurde nicht gefunden. |
|
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 |