Bagikan melalui


Fungsi NlsDllCodePageTranslation (gb18030.h)

Digunakan untuk mendapatkan informasi halaman kode atau melakukan konversi, tergantung pada pengaturan bendera.

Catatan Jangan gunakan fungsi ini. Ini dapat ber perilaku berbeda dalam versi Windows yang berbeda. Untuk mengonversi GB18030 byte ke karakter Unicode atau karakter Unicode ke GB18030 byte, gunakan fungsi MultiByteToWideChar dan WideCharToMultiByte .
 

Sintaks

DWORD NlsDllCodePageTranslation(
  [in]      DWORD    CodePage,
  [in]      DWORD    dwFlags,
  [in, out] LPSTR    lpMultiByteStr,
  [in]      int      cchMultiByte,
  [in, out] LPWSTR   lpWideCharStr,
  [in]      int      cchWideChar,
  [in]      LPCPINFO lpCPInfo
);

Parameter

[in] CodePage

Nilai halaman kode. Nilai halaman kode harus 54936. Jika tidak, fungsi mengembalikan kode kesalahan.

[in] dwFlags

Bendera yang menentukan terjemahan. Nilai yang mungkin ditentukan dalam tabel berikut.

Nilai Makna
NLS_CP_CPINFO
Ambil informasi halaman kode dalam buffer yang ditunjukkan oleh lpCPInfo. Parameter lpMultiByteStr, cchMultiByte, lpWideCharStr, dan cchWideChar tidak digunakan.
NLS_CP_MBTOWC
Konversikan GB18030 byte ke karakter Unicode. Karakter sumber GB18030 harus diacu oleh lpMultiByteStr, dan cchMultiByte harus berisi jumlah byte buffer. Hasil Unicode disimpan dalam buffer yang diacu oleh lpWideCharStr, dan cchWideChar harus berisi jumlah karakter buffer Unicode. Jika lpWideCharStr atau cchWideChar adalah 0, jumlah karakter yang diharapkan dari hasil Unicode dikembalikan, dan tidak ada konversi yang dilakukan. Parameter lpCPInfo tidak digunakan dalam kasus ini.
NLS_CP_WCTOMB
Konversi karakter Unicode menjadi GB18030 byte. String Unicode sumber harus diacu oleh lpWideCharStr, dan cchWideChar harus berisi jumlah karakter buffer. Hasil GB18030 disimpan dalam buffer yang diacu oleh lpMultiByteStr, dan cchMultiByte harus berisi jumlah byte buffer GB18030. Jika lpMultiByteStr atau cchMultiByte adalah 0, jumlah byte dari hasil GB18030 dikembalikan, dan tidak ada konversi yang dilakukan. Parameter lpCPInfo tidak digunakan dalam kasus ini.

[in, out] lpMultiByteStr

Penunjuk ke buffer yang berisi karakter multibyte GB18030. Ini bisa menjadi buffer sumber atau buffer target, tergantung pada nilai dwFlags.

[in] cchMultiByte

Jumlah byte buffer multibyte.

[in, out] lpWideCharStr

Penunjuk ke buffer yang berisi karakter Unicode. Ini bisa menjadi buffer sumber atau buffer target, tergantung pada nilai dwFlags.

[in] cchWideChar

Jumlah karakter buffer Unicode.

[in] lpCPInfo

Penunjuk ke struktur CPINFO .

Nilai kembali

Mengembalikan 1 jika berhasil. Jika fungsi tidak berhasil, fungsi akan mengembalikan 0. Untuk mendapatkan informasi kesalahan yang diperluas, aplikasi dapat memanggil GetLastError, yang dapat mengembalikan salah satu kode kesalahan berikut:

  • ERROR_INVALID_PARAMETER. Salah satu nilai parameter tidak valid.

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header gb18030.h
DLL C_g18030.dll

Lihat juga

MultiByteToWideChar

WideCharToMultiByte