Condividi tramite


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.