Функция LoadModule загружает и исполняет приложение или создает новый экземпляр существующего приложения.
Обратите внимание! на то, что эта функция предусматривается только для совместимости с 16-разрядными версиями Windows. Приложения должны использовать функцию CreateProcess. |
Синтаксис
DWORD LoadModule( LPCSTR lpModuleName, LPVOID lpParameterBlock ); |
Параметры
lpParameterBlock
[in] Указатель на определяемую программой структуру LOADPARMS32, которая определяет блок параметров нового приложения. Установите все неиспользуемые члены в ПУСТО (NULL), исключая член lpCmdLine, который должен указывать на символьную строку с нулем в конце, если он не используется. Дополнительную информацию, см. в разделе Замечания. Возвращаемые значенияЕсли функция завершается успешно, возвращаемое значение больше чем 31.
Если функция завершается ошибкой, возвращаемое значение - код ошибки, который может быть одним из ниже перечисленных значений.
Возвращаемый код | Описание |
---|---|
0 | Системе не хватает памяти или ресурсов.. |
ERROR_BAD_FORMAT | .exe. файл неработоспособный. |
ERROR_FILE_NOT_FOUND | Заданный файл не был найден. |
ERROR_PATH_NOT_FOUND | Заданный путь не был найден. |
Структура LOADPARMS32 имеет нижеследующий синтаксис:
typedef struct tagLOADPARMS32 { LPSTR lpEnvAddress; // адрес строк среды LPSTR lpCmdLine; // адрес командной строки LPSTR lpCmdShow; // как показать новую программу DWORD dwReserved; // должен быть нуль } LOADPARMS32; |
Член структуры | Предназначение |
---|---|
lpEnvAddress | Указатель на массив символьных строк с нулем в конце, которые обеспечивают строками конфигурации новый процесс. Массив имеет значение ПУСТО (NULL) как его последнее введенное данное. Значение ПУСТО (NULL) для этого параметра заставляет новый процесс начинаться с той же самой конфигурацией как и у вызывающего процесса. |
lpCmdLine | Указатель на строку в стиле языка Pascal, которая содержит правильно сформированную командную строку. Первый байт этой строки содержит число байтов в строке. Оставшаяся часть строки содержит параметры командной строки, исключая имя дочернего процесса. Если никаких параметров командной строки нет, этот параметр должен указывать на строку нулевой длины; член не может быть ПУСТО (NULL). |
lpCmdShow | Указатель на структуру, содержащую два значения размером в СЛОВО (WORD). Первое значение должно всегда устанавливаться в два. Второе значение определяется, как окно прикладной программы нужно показать и используется, чтобы предоставить член wShowWindow структуры STARTUPINFO функции CreateProcess. См. в описании параметра nCmdShow функции ShowWindow список приемлемых значений. |
dwReserved | Этот параметр зарезервирован; он должен быть нуль. |
Приложения должны использовать функцию CreateProcess вместо LoadModule. Функция LoadModule вызывает функцию CreateProcess, формируя параметры как ниже указано.
Параметр CreateProcess | Используемый аргумент |
---|---|
lpszApplicationName | lpModuleName |
lpszCommandLine | lpParameterBlock.lpCmdLine |
lpProcessAttributes | NULL |
lpThreadAttributes | NULL |
bInheritHandles | FALSE |
dwCreationFlags | 0 |
lpEnvironment | lpParameterBlock.lpEnvAddress |
lpCurrentDirectory | NULL |
lpStartupInfo | Структура инициализируется нулями. Член структуры cb устанавливается в размер структуры. Член структуры wShowWindow устанавливается в значение второго слова lpParameterBlock.lpCmdShow. |
lpProcessInformation.hProcess | Дескриптор немедленно закрывается. |
lpProcessInformation.hThread | Дескриптор немедленно закрывается. |
Смотри также
Обзор Динамически подключаемые библиотеки (DLL), Функции, используемые DLL, CreateProcess, GetSystemDirectory, GetWindowsDirectory, ShowWindow, WinExec, STARTUPINFO
Размещение и совместимость LoadModule |
||
К |
Windows XP |
Да |
л |
Windows 2000 Professional |
Да |
и |
Windows NT Workstation |
Да |
е |
Windows Me |
Да |
н |
Windows 98 |
Да |
т |
Windows 95 |
Да |
С |
Windows Server 2003 |
Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да |
в | ||
е | ||
р | ||
Используемая библиотека |
Kernel32.lib |
|
Используемая DLL | kernel32.dll | |
Заголовочный файл | ||
- объявлено в |
Winbase.h |
|
- включено в |
Windows.h |
|
Unicode |
Реализовано как LoadModuleW(Unicode) и LoadModuleA (ANSI). |
|
Замечания по платформе |
Не имеется |