Fungsi GetModuleFileNameA (libloaderapi.h)

Mengambil jalur yang sepenuhnya memenuhi syarat untuk file yang berisi modul yang ditentukan. Modul harus dimuat oleh proses saat ini.

Untuk menemukan file untuk modul yang dimuat oleh proses lain, gunakan fungsi GetModuleFileNameEx .

Sintaks

DWORD GetModuleFileNameA(
  [in, optional] HMODULE hModule,
  [out]          LPSTR   lpFilename,
  [in]           DWORD   nSize
);

Parameter

[in, optional] hModule

Handel ke modul yang dimuat yang jalurnya sedang diminta. Jika parameter ini NULL, GetModuleFileName mengambil jalur file yang dapat dieksekusi dari proses saat ini.

Fungsi GetModuleFileName tidak mengambil jalur untuk modul yang dimuat menggunakan bendera LOAD_LIBRARY_AS_DATAFILE . Untuk informasi selengkapnya, lihat LoadLibraryEx.

[out] lpFilename

Penunjuk ke buffer yang menerima jalur modul yang sepenuhnya memenuhi syarat. Jika panjang jalur kurang dari ukuran yang ditentukan parameter nSize , fungsi berhasil dan jalur dikembalikan sebagai string yang dihentikan null.

Jika panjang jalur melebihi ukuran yang ditentukan parameter nSize , fungsi berhasil dan string dipotok menjadi karakter nSize termasuk karakter null yang mengakhiri.

Windows XP: String dipotok menjadi karakter nSize dan tidak dihentikan null.

String yang dikembalikan akan menggunakan format yang sama yang ditentukan saat modul dimuat. Oleh karena itu, jalur dapat menjadi nama file yang panjang atau pendek, dan dapat menggunakan awalan \\?\. Untuk informasi selengkapnya, lihat Penamaan File.

[in] nSize

Ukuran buffer lpFilename , dalam TCHAR.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah panjang string yang disalin ke buffer, dalam karakter, tidak termasuk karakter null yang mengakhiri. Jika buffer terlalu kecil untuk menahan nama modul, string dipotong menjadi karakter nSize termasuk karakter null yang mengakhiri, fungsi mengembalikan nSize, dan fungsi mengatur kesalahan terakhir ke ERROR_INSUFFICIENT_BUFFER.

Windows XP: Jika buffer terlalu kecil untuk menahan nama modul, fungsi mengembalikan nSize. Kode kesalahan terakhir tetap ERROR_SUCCESS. Jika nSize adalah nol, nilai yang dikembalikan adalah nol dan kode kesalahan terakhir adalah ERROR_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan adalah 0 (nol). Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Jika DLL dimuat dalam dua proses, nama filenya dalam satu proses mungkin berbeda jika dari nama filenya dalam proses lain.

Variabel _pgmptr global secara otomatis diinisialisasi ke jalur lengkap file yang dapat dieksekusi, dan dapat digunakan untuk mengambil nama jalur lengkap file yang dapat dieksekusi.

Contoh

Misalnya, lihat Menginstal Layanan.

Catatan

Header libloaderapi.h mendefinisikan GetModuleFileName sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

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

Lihat juga

Fungsi Pustaka Dynamic-Link

GetModuleFileNameEx

GetModuleHandle

LoadLibrary

LoadLibraryEx