Bagikan melalui


Fungsi LoadModule (winbase.h)

Memuat dan menjalankan aplikasi atau membuat instans baru dari aplikasi yang ada.

Catatan Fungsi ini disediakan hanya untuk kompatibilitas dengan Windows versi 16-bit. Aplikasi harus menggunakan fungsi CreateProcess .
 

Sintaks

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

Parameter

[in] lpModuleName

Nama file aplikasi yang akan dijalankan. Saat menentukan jalur, pastikan untuk menggunakan garis miring terbalik (\), bukan garis miring (/). Jika parameter lpModuleName tidak berisi jalur direktori, sistem akan mencari file yang dapat dieksekusi dalam urutan ini:

  1. Direktori tempat aplikasi dimuat.
  2. Direktori saat ini.
  3. Direktori sistem. Gunakan fungsi GetSystemDirectory untuk mendapatkan jalur direktori ini.
  4. Direktori sistem 16-bit. Tidak ada fungsi yang mendapatkan jalur direktori ini, tetapi dicari. Nama direktori ini adalah Sistem.
  5. Direktori Windows. Gunakan fungsi GetWindowsDirectory untuk mendapatkan jalur direktori ini.
  6. Direktori yang tercantum dalam variabel lingkungan PATH.

[in] lpParameterBlock

Penunjuk ke struktur LOADPARMS32 yang ditentukan aplikasi yang menentukan blok parameter aplikasi baru.

Atur semua anggota yang tidak digunakan ke NULL, kecuali untuk lpCmdLine, yang harus menunjuk ke string yang dihentikan null jika tidak digunakan. Untuk informasi selengkapnya, lihat Keterangan.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan lebih besar dari 31.

Jika fungsi gagal, nilai yang dikembalikan adalah nilai kesalahan, yang mungkin merupakan salah satu nilai berikut.

Mengembalikan kode/nilai Deskripsi
0
Sistem kehabisan memori atau sumber daya.
ERROR_BAD_FORMAT
11L
File .exe tidak valid.
ERROR_FILE_NOT_FOUND
2L
File yang ditentukan tidak ditemukan.
ERROR_PATH_NOT_FOUND
3L
Jalur yang ditentukan tidak ditemukan.

Keterangan

Struktur LOADPARMS32 memiliki bentuk berikut:

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;
Anggota Makna
lpEnvAddress Penunjuk ke array string yang dihentikan null yang menyediakan string lingkungan untuk proses baru. Array memiliki nilai NULL sebagai entri terakhirnya. Nilai NULL untuk parameter ini menyebabkan proses baru dimulai dengan lingkungan yang sama dengan proses panggilan.
lpCmdLine Penunjuk ke string gaya Pascal yang berisi baris perintah yang terbentuk dengan benar. Byte pertama dari string berisi jumlah byte dalam string. Sisa string berisi argumen baris perintah, tidak termasuk nama proses anak. Jika tidak ada argumen baris perintah, parameter ini harus menunjuk ke string panjang nol; tidak boleh NULL.
lpCmdShow Penunjuk ke struktur yang berisi dua nilai WORD . Nilai pertama harus selalu diatur ke dua. Nilai kedua menentukan bagaimana jendela aplikasi akan ditampilkan dan digunakan untuk menyediakan anggota wShowWindow dari struktur STARTUPINFO ke fungsi CreateProcess . Lihat deskripsi parameter nCmdShow dari fungsi ShowWindow untuk daftar nilai yang dapat diterima.
dwReserved Parameter ini dicadangkan; pasti nol.
 

Aplikasi harus menggunakan fungsi CreateProcess alih-alih LoadModule. Fungsi LoadModule memanggil CreateProcess dengan membentuk parameter sebagai berikut.

Parameter CreateProcess Argumen yang digunakan
lpszApplicationName lpModuleName
lpszCommandLine lpParameterBlock. lpCmdLine
lpProcessAttributes NULL
lpThreadAttributes NULL
bInheritHandles FALSE
dwCreationFlags 0
lpEnvironment lpParameterBlock. lpEnvAddress
lpCurrentDirectory NULL
lpStartupInfo Struktur diinisialisasi ke nol. Anggota cb diatur ke ukuran struktur. Anggota wShowWindow diatur ke nilai kata kedua lpParameterBlock. lpCmdShow.
lpProcessInformation.hProcess Handel segera ditutup.
lpProcessInformation.hThread Handel segera ditutup.

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

CreateProcess

Fungsi Pustaka Dynamic-Link

GetSystemDirectory

GetWindowsDirectory