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 d'ingresso di origine da tradurre.

lpDestStr
Parametro restituito. Stringa tradotta che può essere NULL se out_length era zero.

inCodePage
Parametro fornito. Specifica la tabella codici della stringa di origine; ignorata se l'input è Unicode.

outCodePage
Parametro fornito. Specifica la pagina di codice della stringa tradotta di output; viene ignorata 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 di output tradotta: in caratteri se l'output è multibyte, o in caratteri larghi 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 di output tradotta. 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 traduzione, incluse le opzioni TrnsDT e il carattere predefinito per la traduzione. Al ritorno, questo parametro indica la lunghezza del buffer necessaria per la stringa di output tradotta se la chiamata di funzione non è riuscita.

lConvRequiredLen
Parametro restituito. Lunghezza del buffer richiesta 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:

Errore Non Supportato

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 (Errore: Sovraccarico del buffer)

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.

ERRORE_PARAMETRO_NON_VALIDO

Questo errore viene restituito se è stato passato un valore non valido in un parametro; ad esempio, se i parametri in_type o out_type contengono valori non definiti.

ERRORE_DATI_NON_VALIDI

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.

ERRORE_MEMORIA_ESAURITA

Questo errore viene restituito se non è stato possibile allocare memoria per l'uso dalla DLL SNANLS.