SnaNlsMapString
La funzione SnaNlsMapString viene chiamata per convertire una stringa da una tabella codici a un'altra.
Sintassi
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
);
Parametri
lpSrcStr
Parametro fornito. Stringa di origine di input da tradurre.
lpDestStr
Parametro restituito. Stringa tradotta che può essere NULL se out_length è zero.
inCodePage
Parametro fornito. Specifica la tabella codici della stringa di origine in ingresso; ignorato se l'input è Unicode.
outCodePage
Parametro fornito. Specifica la tabella codici della stringa tradotta di output; ignorato se l'output è Unicode.
in_length
Parametro fornito. Specifica la lunghezza della stringa di origine di input in caratteri se l'input è multibyte o in caratteri wide se l'input è Unicode.
out_length
Parametro fornito. Specifica la lunghezza massima disponibile per la stringa tradotta di output in caratteri se l'output è multibyte o in caratteri wide se l'output è Unicode.
in_type
Parametro fornito. Specifica il tipo della stringa di origine di input. I valori possibili per in_type sono SNA_MULTIBYTE per multibyte e SNA_UNICODE per Unicode.
out_type
Parametro fornito. Specifica il tipo della stringa tradotta di output. I valori possibili per out_type sono SNA_MULTIBYTE per multibyte e SNA_UNICODE per Unicode.
Opzioni
Parametro fornito e restituito. Come parametro fornito, questo specifica un set di opzioni che possono essere applicate al processo di conversione, incluse le opzioni TrnsDT e il carattere predefinito per la traduzione. In caso contrario, questo parametro indica la lunghezza del buffer necessaria per la stringa convertita di output se la chiamata di funzione non è riuscita.
lConvRequiredLen
Parametro restituito. Lunghezza del buffer obbligatoria se la chiamata non è riuscita.
Valore restituito
La funzione SnaNlsMapString restituisce il numero di caratteri o caratteri wide scritti in lpDestStr in caso di esito positivo; in caso contrario, viene restituito 0 in caso di errore.
In caso di errore, la funzione GetLastError Win32® deve essere usata per restituire un codice di errore che indica la causa dell'errore. I valori possibili restituiti da GetLastError sono i seguenti:
ERROR_NOT_SUPPORTED
Questo errore viene restituito per due possibili motivi: il file di risorse della lingua NLS non è disponibile o il in_type e out_type delle stringhe di origine e di destinazione non sono dello stesso tipo.
ERROR_BUFFER_OVERFLOW
Questo errore viene restituito se il buffer di output è troppo piccolo. In questi casi, il parametro Options restituisce con il valore necessario per out_length.
ERROR_INVALID_PARAMETER
Questo errore viene restituito se un valore non valido è stato passato in un parametro; Ad esempio, se i parametri in_type o out_type contengono valori non definiti.
ERROR_INVALID_DATA
Questo errore viene restituito se è stato passato un valore non valido nel parametro lpSrcStr ; ad esempio, se la stringa di input ha un byte di lead alla fine.
ERROR_OUTOFMEMORY
Questo errore viene restituito se non è stato possibile allocare memoria per l'uso dalla DLL SNANLS.