Partager via


Fonction NlsDllCodePageTranslation (gb18030.h)

Permet d’obtenir des informations sur la page de codes ou d’effectuer une conversion, en fonction des paramètres de l’indicateur.

Note N’utilisez pas cette fonction. Il peut se comporter différemment dans différentes versions de Windows. Pour convertir des octets GB18030 en caractères Unicode ou des caractères Unicode en octets GB18030, utilisez les fonctions MultiByteToWideChar et WideCharToMultiByte .
 

Syntaxe

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

Paramètres

[in] CodePage

Valeur de la page de codes. La valeur de la page de codes doit être 54936. Sinon, la fonction retourne un code d’erreur.

[in] dwFlags

Indicateurs spécifiant la traduction. Les valeurs possibles sont définies dans le tableau suivant.

Valeur Signification
NLS_CP_CPINFO
Récupérez les informations de page de codes dans la mémoire tampon pointée par lpCPInfo. Les paramètres lpMultiByteStr, cchMultiByte, lpWideCharStr et cchWideChar ne sont pas utilisés.
NLS_CP_MBTOWC
Convertir des octets GB18030 en caractères Unicode. Les caractères GB18030 sources doivent être pointés vers lpMultiByteStr, et cchMultiByte doit contenir le nombre d’octets de la mémoire tampon. Le résultat Unicode est stocké dans la mémoire tampon pointée par lpWideCharStr, et cchWideChar doit contenir le nombre de caractères de la mémoire tampon Unicode. Si lpWideCharStr ou cchWideChar est égal à 0, le nombre de caractères attendu du résultat Unicode est retourné et aucune conversion n’est effectuée. Le paramètre lpCPInfo n’est pas utilisé dans ce cas.
NLS_CP_WCTOMB
Convertir des caractères Unicode en octets GB18030. La chaîne Unicode source doit être pointée vers lpWideCharStr, et cchWideChar doit contenir le nombre de caractères de la mémoire tampon. Le résultat GB18030 est stocké dans la mémoire tampon pointée par lpMultiByteStr, et cchMultiByte doit contenir le nombre d’octets de la mémoire tampon GB18030. Si lpMultiByteStr ou cchMultiByte est égal à 0, le nombre d’octets du résultat GB18030 est retourné et aucune conversion n’est effectuée. Le paramètre lpCPInfo n’est pas utilisé dans ce cas.

[in, out] lpMultiByteStr

Pointeur vers une mémoire tampon qui contient des caractères GB18030 multioctets. Il peut s’agir d’une mémoire tampon source ou d’une mémoire tampon cible, selon la valeur de dwFlags.

[in] cchMultiByte

Nombre d’octets de la mémoire tampon multioctet.

[in, out] lpWideCharStr

Pointeur vers une mémoire tampon contenant des caractères Unicode. Il peut s’agir d’une mémoire tampon source ou d’une mémoire tampon cible, selon la valeur de dwFlags.

[in] cchWideChar

Nombre de caractères de la mémoire tampon Unicode.

[in] lpCPInfo

Pointeur vers une structure CPINFO .

Valeur retournée

Retourne 1 en cas de réussite. Si la fonction échoue, elle retourne 0. Pour obtenir des informations d’erreur étendues, l’application peut appeler GetLastError, qui peut retourner l’un des codes d’erreur suivants :

  • ERROR_INVALID_PARAMETER. L’une des valeurs de paramètre n’était pas valide.

Spécifications

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête gb18030.h
DLL C_g18030.dll

Voir aussi

MultiByteToWideChar

WideCharToMultiByte