Fungsi LoadStringA (winuser.h)
Memuat sumber daya string dari file yang dapat dieksekusi yang terkait dengan modul tertentu dan menyalin string ke dalam buffer dengan karakter null yang mengakhiri atau mengembalikan penunjuk baca-saja ke sumber daya string itu sendiri.
Sintaks
int LoadStringA(
[in, optional] HINSTANCE hInstance,
[in] UINT uID,
[out] LPSTR lpBuffer,
[in] int cchBufferMax
);
Parameter
[in, optional] hInstance
Jenis: HINSTANCE
Handel ke instans modul yang file yang dapat dieksekusi berisi sumber daya string. Untuk mendapatkan handel ke aplikasi itu sendiri, panggil fungsi GetModuleHandle dengan NULL.
[in] uID
Jenis: UINT
Pengidentifikasi string yang akan dimuat.
[out] lpBuffer
Jenis: LPTSTR
Buffer untuk menerima string. Setidaknya harus berukuran karakter cchBufferMax .
[in] cchBufferMax
Jenis: int
Ukuran buffer, dalam karakter. String dipotong dan dihentikan null jika lebih panjang dari jumlah karakter yang ditentukan. Parameter ini mungkin bukan nol.
Mengembalikan nilai
Jenis: int
Jika fungsi berhasil, nilai yang dikembalikan adalah jumlah karakter yang disalin ke dalam buffer, tidak termasuk karakter null yang mengakhiri.
Jika sumber daya string tidak ada, nilai yang dikembalikan adalah nol.
Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Tidak seperti fungsi LoadStringW , fungsi LoadStringA tidak mendukung melewati nilai nol untuk cchBufferMax. Melakukannya akan merusak memori.
Keterangan Keamanan
Menggunakan fungsi ini salah dapat membahayakan keamanan aplikasi Anda. Penggunaan yang salah termasuk menentukan ukuran yang salah dalam parameter cchBufferMax . Misalnya, jika lpBuffer menunjuk ke buffer szBuffer yang dinyatakan sebagaiTCHAR szBuffer[100]
, maka sizeof(szBuffer) memberikan ukuran buffer dalam byte, yang dapat menyebabkan luapan buffer untuk versi Unicode fungsi. Situasi luapan buffer adalah penyebab banyak masalah keamanan dalam aplikasi. Dalam hal ini, menggunakan sizeof(szBuffer)/sizeof(TCHAR)
atau sizeof(szBuffer)/sizeof(szBuffer[0])
akan memberikan ukuran buffer yang tepat.
Contoh
Misalnya, lihat Membuat Jendela Anak
Catatan
Header winuser.h mendefinisikan LoadString sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winuser.h (termasuk Windows.h) |
Pustaka | User32.lib |
DLL | User32.dll |
Lihat juga
Konseptual
Sumber Daya Lain
Referensi