Freigeben über


SnaNlsMapString

Die SnaNlsMapString-Funktion wird aufgerufen, um eine Zeichenfolge von einer Codepage in eine andere zu übersetzen.

Syntax

  
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  
);  

Parameter

lpSrcStr
Angegebener Parameter. Die zu übersetzende Eingabequellzeichenfolge.

lpDestStr
Zurückgegebener Parameter. Die übersetzte Zeichenfolge, die NULL sein kann, wenn out_length null war.

inCodePage
Angegebener Parameter. Gibt die Codepage der eingehenden Quellzeichenfolge an. wird ignoriert, wenn die Eingabe Unicode ist.

outCodePage
Angegebener Parameter. Gibt die Codepage der übersetzten Ausgabezeichenfolge an. wird ignoriert, wenn die Ausgabe Unicode ist.

in_length
Angegebener Parameter. Gibt die Länge der Eingabequellzeichenfolge in Zeichen an, wenn die Eingabe Multibyte ist, oder in Breitzeichen, wenn die Eingabe Unicode ist.

out_length
Angegebener Parameter. Gibt die maximale Verfügbare Länge für die übersetzte Ausgabezeichenfolge in Zeichen an, wenn die Ausgabe Multibyte ist, oder in Breitzeichen, wenn die Ausgabe Unicode ist.

in_type
Angegebener Parameter. Gibt den Typ der Eingabequellzeichenfolge an. Mögliche Werte für in_type sind SNA_MULTIBYTE für Multibyte und SNA_UNICODE für Unicode.

out_type
Angegebener Parameter. Gibt den Typ der übersetzten Ausgabezeichenfolge an. Mögliche Werte für out_type sind SNA_MULTIBYTE für Multibyte und SNA_UNICODE für Unicode.

Optionen
Angegebener und zurückgegebener Parameter. Als bereitgestellter Parameter gibt dieser eine Reihe von Optionen an, die auf den Übersetzungsprozess angewendet werden können, einschließlich TrnsDT-Optionen und des Standardzeichens für die Übersetzung. Bei der Rückgabe gibt dieser Parameter die erforderliche Pufferlänge für die übersetzte Ausgabezeichenfolge an, wenn der Funktionsaufruf fehlgeschlagen ist.

lConvRequiredLen
Zurückgegebener Parameter. Erforderliche Pufferlänge, wenn der Aufruf fehlgeschlagen ist.

Rückgabewert

Die SnaNlsMapString-Funktion gibt die Anzahl der Zeichen oder Breitzeichen zurück, die bei Erfolg in lpDestStr geschrieben werden. Andernfalls wird bei einem Fehler 0 zurückgegeben.

Bei einem Fehler sollte die Win32® GetLastError-Funktion verwendet werden, um einen Fehlercode zurückzugeben, der die Ursache des Fehlers angibt. Mögliche Werte, die von GetLastError zurückgegeben werden, sind die folgenden:

ERROR_NOT_SUPPORTED

Dieser Fehler wird aus zwei möglichen Gründen zurückgegeben: Entweder ist die NLS-Sprachressourcendatei nicht verfügbar, oder die in_type und out_type der Quell- und Zielzeichenfolgen sind nicht vom gleichen Typ.

ERROR_BUFFER_OVERFLOW

Dieser Fehler wird zurückgegeben, wenn der Ausgabepuffer zu klein ist. In solchen Fällen gibt der Options-Parameter den für out_length erforderlichen Wert zurück.

ERROR_INVALID_PARAMETER

Dieser Fehler wird zurückgegeben, wenn ein ungültiger Wert in einem Parameter übergeben wurde. Beispielsweise, wenn die Parameter in_type oder out_type undefinierte Werte enthalten.

ERROR_INVALID_DATA

Dieser Fehler wird zurückgegeben, wenn im lpSrcStr-Parameter ein ungültiger Wert übergeben wurde. beispielsweise, wenn die Eingabezeichenfolge am Ende ein Leadbyte aufweist.

ERROR_OUTOFMEMORY

Dieser Fehler wird zurückgegeben, wenn arbeitsspeicher nicht für die Verwendung durch die SNANLS-DLL zugewiesen werden konnte.