PASSSTRUCT 構造体は次のように定義されます。
構文
typedef struct tagPassParm {
WORD parm_length;
WORD exit_code;
WORD in_length;
LPBYTE in_addr;
WORD out_length;
LPBYTE out_addr;
WORD trns_id;
WORD in_page;
WORD out_page;
WORD option;
} PASSSTRUCT;
メンバー
parm_length
指定されたパラメーター。 渡される構造体の長さは、通常は 24 に設定されます。 オプション メンバーが不要または使用されていない場合は、このパラメーターを 22 に設定できます。
exit_code
指定され、返されるパラメーター。 エントリ時に、このメンバーは 0 に設定する必要があります。 戻り時に、このメンバーは終了状況を示します。 返される exit_code 値の有効な値は次のとおりです。
0
関数が正常に完了したことを示す通常の終了コード。
1
要求された変換はサポートされていません。
12
exit_code フィールドが正しく 0 に初期化されませんでした。
128
ソース入力文字列の最後の文字は DBCS 先行バイトでした。
256
変換された変換先文字列の長さが 65535 バイトを超えたため、変換を正常に完了できませんでした。
257
1 つを読み込み、TrnsDTx.dll ファイルの 1 つを初期化しようとしたときにエラーが発生しました。
in_length
指定されたパラメーター。 入力ソース文字列の長さをバイト単位で指定します。
in_addr
指定されたパラメーター。 変換するソース文字列を含むバッファーへのポインター。
out_length
指定され、返されるパラメーター。 出力変換された文字列に使用できる最大長をバイト単位で指定します。 戻り値の場合、このメンバーは、成功した場合に変換された出力文字列の長さ、またはバッファーが小さすぎる場合に必要な出力バッファー長に設定されます。
out_addr
指定されたパラメーター。 変換後に出力先の文字列を格納するバッファーへのポインター。
trns_id
指定されたパラメーター。 変換識別子。これは常に 0 です。
in_page
指定されたパラメーター。 受信ソース文字列のコード ページを指定します。
out_page
指定されたパラメーター。 変換された出力文字列のコード ページを指定します。
オプション
parm_lengthが 24 に設定されている場合は、パラメーターが指定され、返されます。 指定されたパラメーターとして、翻訳プロセスに適用できる一連のオプションを指定します。 これらのオプションに使用できる値は次のとおりです。
ビット 15 から 9
予約済み。
ビット 8
変換された出力文字列にシフトアウト (SO)/シフト (SI) バイトを追加します。
ビット 3 から 7
予約済み。
ビット 2
このビットが設定されている場合は、IBM 指定の 1 バイト・コード・テーブルを使用して入力ストリングを変換します。 このオプションは、コード ページ 932 から 037、290、930、または 931 のいずれかのコード ページに変換する場合にのみ有効です。
このビットがゼロの場合は、SYSCTBL ユーティリティーを使用して作成された変換テーブルを使用して入力ソース・ストリングを変換します。
2 バイト文字の場合は、常に SYSCTBL ユーティリティーによって作成された変換テーブルを使用してください。
SYSCTBL.EXE ファイルは、Host Integration Server に含まれるユーティリティ プログラムであり、 TrnsDT 関数で使用するカスタム変換テーブルを作成するために使用できるツールを提供します。
ビット 1
このビットが設定されている場合は、入力ソース文字列が 2 バイト文字で始まることを示します。 一般に、ホスト データには常に SO/SI 制御文字がペアで含まれますが、混合データ文字列の一部を変換する場合は、SO 制御文字を使用せずに 2 バイト文字から変換を開始する必要があります。 この場合、データ自体には 2 バイトかどうかを判断するための十分な情報がないため、ビット 1 を設定する必要があります。
ビット 0
このビットが設定されている場合は、入力ソース文字列に SO/SI 制御文字が含まれていることを示します。 ビット 8 とビット 0 は、次のように設定する必要があります。
PC からホストへの変換 ビット 8=1、ビット 0 =0 ホストから PC への変換 ビット 8=0、ビット 0=1
最後の文字が 2 バイト文字の場合、戻り値 として option は 4 に設定されます。