Функция 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 имеет нижеследующий синтаксис:
|
| Член структуры | Предназначение |
|---|---|
| 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). |
|
| Замечания по платформе |
Не имеется |
|