Поделиться через


Функция NlsDllCodePageTranslation (gb18030.h)

Используется для получения сведений о кодовой странице или преобразования в зависимости от параметров флага.

Примечание Не используйте эту функцию. В разных версиях Windows он может вести себя по-разному. Чтобы преобразовать гб18030 байт в символы Юникода или символы Юникода в ГБ18030 байт, используйте функции MultiByteToWideChar и WideCharToMultiByte .
 

Синтаксис

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
);

Параметры

[in] CodePage

Значение кодовой страницы. Значение кодовой страницы должно быть равно 54936. В противном случае функция возвращает код ошибки.

[in] dwFlags

Флаги, указывающие перевод. Возможные значения определены в следующей таблице.

Значение Значение
NLS_CP_CPINFO
Получение сведений о кодовой странице в буфере, на который указывает lpCPInfo. Параметры lpMultiByteStr, cchMultiByte, lpWideCharStr и cchWideChar не используются.
NLS_CP_MBTOWC
Преобразуйте ГБ18030 байт в символы Юникода. На исходные символы GB18030 должен указывать lpMultiByteStr, а cchMultiByte — число байтов буфера. Результат Юникода хранится в буфере, на который указывает lpWideCharStr, а cchWideChar должен содержать число символов в буфере Юникода. Если значение lpWideCharStr или cchWideChar равно 0, возвращается ожидаемое число символов результата Юникода и преобразование не выполняется. В этом случае параметр lpCPInfo не используется.
NLS_CP_WCTOMB
Преобразуйте символы Юникода в ГБ18030 байт. Исходная строка Юникода должна указываться с помощью lpWideCharStr, а cchWideChar должна содержать число символов буфера. Результат GB18030 хранится в буфере, на который указывает lpMultiByteStr, а cchMultiByte должен содержать число байтов буфера GB18030. Если значение lpMultiByteStr или cchMultiByte равно 0, возвращается число байтов результата GB18030 и преобразование не выполняется. В этом случае параметр lpCPInfo не используется.

[in, out] lpMultiByteStr

Указатель на буфер, содержащий многобайтовые символы GB18030. Это может быть исходный или целевой буфер в зависимости от значения dwFlags.

[in] cchMultiByte

Число байтов многобайтового буфера.

[in, out] lpWideCharStr

Указатель на буфер, содержащий символы Юникода. Это может быть исходный или целевой буфер в зависимости от значения dwFlags.

[in] cchWideChar

Число символов буфера Юникода.

[in] lpCPInfo

Указатель на структуру CPINFO .

Возвращаемое значение

Возвращает значение 1 в случае успешного выполнения. Если функция не выполняется, она возвращает значение 0. Чтобы получить расширенные сведения об ошибке, приложение может вызвать Метод GetLastError, который может возвращать один из следующих кодов ошибок:

  • ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header gb18030.h
DLL C_g18030.dll

См. также раздел

MultiByteToWideChar

WideCharToMultiByte