SnaNlsMapString
Se llama a la función SnaNlsMapString para traducir una cadena de una página de códigos a otra.
Sintaxis
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
);
Parámetros
lpSrcStr
Parámetro proporcionado. Cadena de origen de entrada que se va a traducir.
lpDestStr
Parámetro devuelto. Cadena traducida que puede ser NULL si out_length era cero.
inCodePage
Parámetro proporcionado. Especifica la página de códigos de la cadena de origen entrante; se omite si la entrada es Unicode.
outCodePage
Parámetro proporcionado. Especifica la página de códigos de la cadena traducida de salida; se omite si la salida es Unicode.
in_length
Parámetro proporcionado. Especifica la longitud de la cadena de origen de entrada en caracteres si la entrada es multibyte o en caracteres anchos si la entrada es Unicode.
out_length
Parámetro proporcionado. Especifica la longitud máxima disponible para la cadena traducida de salida en caracteres si la salida es multibyte o en caracteres anchos si la salida es Unicode.
in_type
Parámetro proporcionado. Especifica el tipo de la cadena de origen de entrada. Los valores posibles de in_type son SNA_MULTIBYTE para multibyte y SNA_UNICODE para Unicode.
out_type
Parámetro proporcionado. Especifica el tipo de la cadena traducida de salida. Los valores posibles de out_type son SNA_MULTIBYTE para multibyte y SNA_UNICODE para Unicode.
Opciones
Parámetro proporcionado y devuelto. Como parámetro proporcionado, especifica un conjunto de opciones que se pueden aplicar al proceso de traducción, incluidas las opciones trnsDT y el carácter predeterminado para la traducción. En la devolución, este parámetro indica la longitud de búfer necesaria para la cadena traducida de salida si se produjo un error en la llamada de función.
lConvRequiredLen
Parámetro devuelto. Longitud necesaria del búfer si se produjo un error en la llamada.
Valor devuelto
La función SnaNlsMapString devuelve el número de caracteres o caracteres anchos escritos en lpDestStr si se ejecuta correctamente; de lo contrario, se devuelve 0 en caso de error.
Si se produce un error, se debe usar la función GetLastError de Win32 ® para devolver un código de error que indica la causa del error. Los valores posibles devueltos por GetLastError son los siguientes:
ERROR_NOT_SUPPORTED
Este error se devuelve por dos motivos posibles: el archivo de recursos de idioma NLS no está disponible o el in_type y out_type de las cadenas de origen y destino no tienen el mismo tipo.
ERROR_BUFFER_OVERFLOW
Este error se devuelve si el búfer de salida es demasiado pequeño. En tales casos, el parámetro Options devuelve con el valor necesario para out_length.
ERROR_INVALID_PARAMETER
Este error se devuelve si se pasó un valor incorrecto en un parámetro; por ejemplo, si los parámetros in_type o out_type contenían valores no definidos.
ERROR_INVALID_DATA
Este error se devuelve si se pasó un valor incorrecto en el parámetro lpSrcStr ; por ejemplo, si la cadena de entrada tiene un byte principal al final.
ERROR_OUTOFMEMORY
Este error se devuelve si no se pudo asignar memoria para su uso por parte del archivo DLL de SNANLS.