SnaNlsMapString
La fonction SnaNlsMapString est appelée pour traduire une chaîne d’une page de code à 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 égal à zéro.
inCodePage
Paramètre fourni. Spécifie la page de code de la chaîne source entrante ; ignoré si l’entrée est Unicode.
outCodePage
Paramètre fourni. Spécifie la page de code 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 multioctet 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 le 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. Au 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 renvoyée
La fonction SnaNlsMapString retourne le nombre de caractères ou de caractères larges écrits dans lpDestStr lors de la réussite ; sinon, 0 est retourné en cas d’échec.
En cas d’échec, la fonction GetLastError Win32® 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 :
ERROR_NOT_SUPPORTED
Cette erreur est retournée pour deux raisons possibles : le fichier de ressources de langue NLS n’est pas disponible ou les in_type et out_type des chaînes source et de destination ne sont pas du même type.
ERROR_BUFFER_OVERFLOW
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.
ERROR_INVALID_PARAMETER
Cette erreur est retournée si une valeur incorrecte a été transmise dans un paramètre ; par exemple, si les paramètres in_type ou out_type contenaient des valeurs non définies.
ERROR_INVALID_DATA
Cette erreur est retournée si une valeur incorrecte a été transmise dans le paramètre lpSrcStr ; par exemple, si la chaîne d’entrée a un octet de prospect à la fin.
ERROR_OUTOFMEMORY
Cette erreur est retournée si la mémoire n’a pas pu être allouée pour une utilisation par la DLL SNANLS.