Fungsi LoadStringW (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.
Sintaksis
int LoadStringW(
[in, optional] HINSTANCE hInstance,
[in] UINT uID,
[out] LPWSTR 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
[in] uID
Jenis: UINT
Pengidentifikasi string yang akan dimuat.
[out] lpBuffer
Jenis:
Buffer untuk menerima string (jika cchBufferMax bukan nol) atau pointer baca-saja ke sumber daya string itu sendiri (jika cchBufferMax adalah nol). Panjangnya harus cukup untuk menahan pointer (8 byte).
[in] cchBufferMax
Jenis: int
Ukuran buffer, dalam karakter. String dipotong dan dihentikan null jika lebih panjang dari jumlah karakter yang ditentukan. Jika parameter ini adalah 0, maka lpBuffer menerima pointer baca-saja ke sumber daya string itu sendiri.
Mengembalikan nilai
Jenis: int
Jika fungsi berhasil, nilai pengembalian adalah salah satu dari yang berikut ini:
- Jumlah karakter yang disalin ke dalam buffer (jika cchBufferMax bukan nol), tidak termasuk karakter null yang mengakhiri.
- Jumlah karakter dalam sumber daya string yang lpBuffer menunjuk ke (jika cchBufferMax adalah nol). Sumber daya string tidak dijamin dihentikan null dalam tabel sumber daya modul, dan Anda dapat menggunakan nilai ini untuk menentukan di mana sumber daya string berakhir.
- Nol jika sumber daya string tidak ada.
Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Komentar
Jika Anda meneruskan 0 ke
Keterangan Keamanan
Menggunakan fungsi ini salah dapat membahayakan keamanan aplikasi Anda. Penggunaan yang salah termasuk menentukan ukuran yang salah dalam parameterTCHAR szBuffer[100]
, maka sizeof(szBuffer) memberikan ukuran buffer dalam byte, yang dapat menyebabkan luapan buffer untuk versi Fungsi Unicode. 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
Nota
Header winuser.h mendefinisikan LoadString sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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 2000 Professional [hanya aplikasi desktop] |
server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Platform Target |
Windows |
Header |
winuser.h (termasuk Windows.h) |
Pustaka |
User32.lib |
DLL |
User32.dll |
Lihat juga
Konseptual
FormatMessage
LoadBitmap
Sumber Daya Lain
Referensi
String