Bagikan melalui


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 GetModuleHandle dengan NULL.

[in] uID

Jenis: UINT

Pengidentifikasi string yang akan dimuat.

[out] lpBuffer

Jenis: LPTSTR

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 cchBufferMax untuk mengembalikan penunjuk baca-saja ke sumber daya string di parameter lpBuffer, gunakan jumlah karakter dalam nilai pengembalian untuk menentukan panjang sumber daya string. Sumber daya string tidak dijamin dihentikan null dalam tabel sumber daya modul. Namun, tabel sumber daya dapat berisi karakter null. Sumber daya string disimpan dalam blok 16 string, dan slot kosong apa pun dalam blok ditunjukkan oleh karakter null.

Keterangan Keamanan

Menggunakan fungsi ini salah dapat membahayakan keamanan aplikasi Anda. Penggunaan yang salah termasuk menentukan ukuran yang salah dalam parameter nBufferMax. Misalnya, jika lpBuffer menunjuk ke buffer szBuffer yang dinyatakan sebagai TCHAR 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

LoadAccelerators

LoadBitmap

LoadCursor

LoadIcon

LoadMenu

LoadMenuIndirect

Sumber Daya Lain

Referensi

String