Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
Sintaksis
DWORD GetModuleFileNameA(
[in, optional] HMODULE hModule,
[out] LPSTR lpFilename,
[in] DWORD nSize
);
Parameter
[in, optional] hModule
Handel ke modul yang dimuat yang jalurnya diminta. Jika parameter ini NULL, GetModuleFileName mengambil jalur file yang dapat dieksekusi dari proses saat ini.
Fungsi
[out] lpFilename
Penunjuk ke buffer yang menerima jalur modul yang sepenuhnya memenuhi syarat. Jika panjang jalur kurang dari ukuran yang ditentukan parameter
Jika panjang jalur sama atau melebihi nilai yang ditentukan oleh nSize, fungsi berhasil dan string dipotong menjadi karakter nSize (termasuk karakter null yang mengakhiri).
Windows XP: String dipotong untuk karakter nSize dan tidak dihentikan null.
String yang dikembalikan akan menggunakan format yang sama yang ditentukan saat modul dimuat. Oleh karena itu, jalur dapat berupa nama file panjang atau pendek, dan dapat menggunakan awalan \\?\. Untuk informasi selengkapnya, lihat Penamaan File.
[in] nSize
Ukuran buffer lpFilename
Mengembalikan 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 untuk 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, panggil GetLastError.
Komentar
Jika DLL dimuat dalam dua proses, nama filenya dalam satu proses mungkin berbeda jika terjadi dengan nama filenya di proses lain.
Variabel global _pgmptr 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.
Nota
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
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
| server minimum yang didukung |
Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
| Platform Target |
Windows |
| Header |
libloaderapi.h (termasuk Windows.h) |
| Pustaka |
Kernel32.lib |
| DLL |
Kernel32.dll |
Lihat juga
Fungsi Pustaka
GetModuleFileNameEx