Compartir a través de


Función NlsDllCodePageTranslation (gb18030.h)

Se usa para obtener información de página de códigos o realizar la conversión, en función de la configuración de la marca.

Nota No use esta función. Se puede comportar de forma diferente en diferentes versiones de Windows. Para convertir GB18030 bytes a caracteres Unicode o caracteres Unicode a GB18030 bytes, use las funciones MultiByteToWideChar y WideCharToMultiByte .
 

Sintaxis

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

Parámetros

[in] CodePage

Valor de la página de códigos. El valor de la página de códigos debe ser 54936. De lo contrario, la función devuelve un código de error.

[in] dwFlags

Marcas que especifican la traducción. Los valores posibles se definen en la tabla siguiente.

Valor Significado
NLS_CP_CPINFO
Recupere la información de la página de códigos en el búfer al que apunta lpCPInfo. No se usan los parámetros lpMultiByteStr, cchMultiByte, lpWideCharStr y cchWideChar .
NLS_CP_MBTOWC
Convierte GB18030 bytes en caracteres Unicode. Los caracteres GB18030 de origen deben apuntar a lpMultiByteStr y cchMultiByte debe contener el recuento de bytes del búfer. El resultado Unicode se almacena en el búfer al que apunta lpWideCharStr y cchWideChar debe contener el recuento de caracteres del búfer Unicode. Si lpWideCharStr o cchWideChar es 0, se devuelve el recuento de caracteres esperado del resultado Unicode y no se realiza ninguna conversión. El parámetro lpCPInfo no se usa en este caso.
NLS_CP_WCTOMB
Convierte caracteres Unicode en GB18030 bytes. La cadena Unicode de origen debe apuntar a lpWideCharStr y cchWideChar debe contener el recuento de caracteres del búfer. El resultado gb18030 se almacena en el búfer al que apunta lpMultiByteStr y cchMultiByte debe contener el recuento de bytes del búfer GB18030. Si lpMultiByteStr o cchMultiByte es 0, se devuelve el recuento de bytes del resultado GB18030 y no se realiza ninguna conversión. El parámetro lpCPInfo no se usa en este caso.

[in, out] lpMultiByteStr

Puntero a un búfer que contiene caracteres GB18030 multibyte. Puede ser un búfer de origen o un búfer de destino, según el valor de dwFlags.

[in] cchMultiByte

Recuento de bytes del búfer multibyte.

[in, out] lpWideCharStr

Puntero a un búfer que contiene caracteres Unicode. Puede ser un búfer de origen o un búfer de destino, según el valor de dwFlags.

[in] cchWideChar

Recuento de caracteres del búfer Unicode.

[in] lpCPInfo

Puntero a una estructura CPINFO .

Valor devuelto

Devuelve 1 si se ejecuta correctamente. Si la función no se realiza correctamente, devuelve 0. Para obtener información de error extendida, la aplicación puede llamar a GetLastError, que puede devolver uno de los siguientes códigos de error:

  • ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gb18030.h
Archivo DLL C_g18030.dll

Consulte también

MultiByteToWideChar

WideCharToMultiByte