Compartir a través de


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.

en_longitud
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 para 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 para 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. Al retornar, este parámetro indica la longitud del búfer necesaria para la cadena de salida traducida si falla la llamada a la 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, la función GetLastError de Win32 ® debe usarse para devolver un código de error que indica la causa del error. Los valores posibles devueltos por GetLastError son los siguientes:

ERROR_NO_SOPORTADO

Este error se devuelve por dos posibles motivos: 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_DESBORDAMIENTO_DEL_BUFFER

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_PARÁMETRO_NO_VÁLIDO

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 indefinidos.

ERROR_DATOS_INVÁLIDOS

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 de inicio al final.

ERROR_OUTOFMEMORY (Error de falta de memoria)

Este error se produce si no se pudo asignar memoria para su uso por la DLL SNANLS.