Partager via


SnaNlsMapString

La fonction SnaNlsMapString est appelée pour traduire une chaîne d’une page de codes vers une autre.

Syntaxe

  
int WINAPI SnaNlsMapString(   
LPCTSTR lpSrcStr,  
LPTSTR lpDestStr,  
UINT inCodePage,  
UINT outCodePage,  
Int in_length,  
int out_length,  
UINT in_type,  
UINT out_type,  
WORD *Options,  
LONG*lConvRequiredLen  
);  

Paramètres

lpSrcStr
Paramètre fourni. Chaîne source d’entrée à traduire.

lpDestStr
Paramètre retourné. Chaîne traduite qui peut être NULL si out_length était zéro.

inCodePage
Paramètre fourni. Spécifie la page de codes de la chaîne source entrante ; ignoré si l’entrée est Unicode.

outCodePage
Paramètre fourni. Spécifie la page de codes de la chaîne traduite de sortie ; ignoré si la sortie est Unicode.

in_length
Paramètre fourni. Spécifie la longueur de la chaîne source d’entrée en caractères si l’entrée est multioctet ou en caractères larges si l’entrée est Unicode.

out_length
Paramètre fourni. Spécifie la longueur maximale disponible pour la chaîne traduite de sortie en caractères si la sortie est multioctet ou en caractères larges si la sortie est Unicode.

in_type
Paramètre fourni. Spécifie le type de la chaîne source d’entrée. Les valeurs possibles pour in_type sont SNA_MULTIBYTE pour multioctets et SNA_UNICODE pour Unicode.

out_type
Paramètre fourni. Spécifie le type de la chaîne traduite de sortie. Les valeurs possibles pour out_type sont SNA_MULTIBYTE pour multioctet et SNA_UNICODE pour Unicode.

Options
Paramètre fourni et retourné. En tant que paramètre fourni, cela spécifie un ensemble d’options qui peuvent être appliquées au processus de traduction, y compris les options TrnsDT et le caractère par défaut de la traduction. Lors du retour, ce paramètre indique la longueur de mémoire tampon requise pour la chaîne traduite de sortie si l’appel de fonction a échoué.

lConvRequiredLen
Paramètre retourné. Longueur de mémoire tampon requise en cas d’échec de l’appel.

Valeur de retour

La fonction SnaNlsMapString retourne le nombre de caractères ou de caractères larges écrits dans lpDestStr en cas de réussite ; sinon, 0 est retourné en cas d’échec.

En cas d’échec, la fonction Win32® GetLastError doit être utilisée pour retourner un code d’erreur indiquant la cause de l’échec. Les valeurs possibles retournées par GetLastError sont les suivantes :

ERREUR_NON_PRIS_EN_CHARGE

Cette erreur est retournée pour deux raisons possibles : le fichier de ressources de langue NLS n’est pas disponible ou le in_type et les out_type des chaînes source et de destination ne sont pas du même type.

ERREUR_DÉBORDEMENT_DU_TAMPON

Cette erreur est retournée si la mémoire tampon de sortie est trop petite. Dans ce cas, le paramètre Options retourne la valeur nécessaire pour out_length.

ERREUR_PARAMÈTRE_INVALIDE

Cette erreur est retournée si une valeur incorrecte a été passée dans un paramètre ; par exemple, si les paramètres in_type ou out_type contenaient des valeurs non définies.

ERREUR_DONNÉES_NON_VALIDES

Cette erreur est retournée si une valeur incorrecte a été passée dans le paramètre lpSrcStr ; par exemple, si la chaîne d’entrée a un octet d'indicateur à la fin.

ERREUR_MEMOIRE_EPUISEE

Cette erreur est retournée si la mémoire n’a pas pu être allouée pour une utilisation par la DLL SNANLS.