SnaNlsMapString 関数は、あるコード ページから別のコード ページに文字列を変換するために呼び出されます。
構文
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
);
パラメーター
lpSrcStr
指定されたパラメーター。 変換する入力ソース文字列。
lpDestStr
返されたパラメーター。 変換された文字列。 out_length が 0 の場合は NULL になる可能性があります。
inCodePage
指定されたパラメーター。 受信ソース文字列のコード ページを指定します。入力が Unicode の場合は無視されます。
outCodePage
指定されたパラメーター。 変換された出力文字列のコード ページを指定します。出力が Unicode の場合は無視されます。
in_length
指定されたパラメーター。 入力がマルチバイトの場合は入力ソース文字列の長さを指定し、入力が Unicode の場合はワイド文字で指定します。
out_length
指定されたパラメーター。 出力がマルチバイトの場合は、変換された出力文字列に使用できる最大長を、Unicode の場合はワイド文字で指定します。
in_type
指定されたパラメーター。 入力ソース文字列の型を指定します。
in_typeに使用できる値は、マルチバイトの場合はSNA_MULTIBYTE、Unicode の場合はSNA_UNICODEです。
out_type
指定されたパラメーター。 変換された出力文字列の型を指定します。
out_typeで使用できる値は、マルチバイトの場合はSNA_MULTIBYTE、Unicode の場合はSNA_UNICODEです。
[オプション]
指定され、返されるパラメーター。 指定されたパラメーターとして、TrnsDT オプションや翻訳の既定の文字など、翻訳プロセスに適用できる一連のオプションを指定します。 戻り値の場合、このパラメーターは、関数呼び出しが失敗した場合に、変換された出力文字列に必要なバッファー長を示します。
lConvRequiredLen
返されたパラメーター。 呼び出しに失敗した場合に必要なバッファー長。
戻り値
SnaNlsMapString 関数は、成功した場合に lpDestStr に書き込まれた文字数またはワイド文字を返します。それ以外の場合は、エラー発生時に 0 が返されます。
失敗した場合は、Win32® GetLastError 関数を使用して、エラーの原因を示すエラー コードを返す必要があります。 GetLastError によって返される値は次のとおりです。
サポートされていないエラー
このエラーは、NLS 言語リソース ファイルが使用できないか、ソース文字列と変換先文字列の in_type と out_type が同じ型ではないという 2 つの理由で返されます。
エラーバッファオーバーフロー
このエラーは、出力バッファーが小さすぎる場合に返されます。 このような場合、 Options パラメーターは、 out_lengthに必要な値を返します。
無効なパラメーターエラー
このエラーは、パラメーターで無効な値が渡された場合に返されます。たとえば、 in_typeまたはout_type パラメーター に未定義の 値が含まれている場合などです。
ERROR_INVALID_DATA (無効なデータエラー)
このエラーは、 lpSrcStr パラメーターに無効な値が渡された場合に返されます。たとえば、入力文字列の末尾に先頭バイトがある場合などです。
ERROR_OUTOFMEMORY(メモリ不足エラー)
このエラーは、SNANLS DLL で使用するためにメモリを割り当てられなかった場合に返されます。