Initialize_Conversation呼び出し (関数名 cminit) は、8 バイトの会話 ID を取得し、会話特性の初期値を設定するために、呼び出し側プログラムによって発行されます。
構文
CM_ENTRY Initialize_Conversation(
unsigned char FAR *conversation_ID,
unsigned char FAR *sym_dest_name,
CM_INT32 FAR *return_code
);
パラメーター
conversation_ID
返されたパラメーター。 会話の識別子を指定します。 これは、後続の CPI-C 呼び出しで使用されます。
sym_dest_name
指定されたパラメーター。 シンボリック宛先名 (構成ファイルから読み込まれた、またはSet_CPIC_Side_Information呼び出しによって定義されたサイド情報項目に関連付けられた名前) を 指定します。
このパラメーターは 8 バイトの ASCII 文字列です。 使用できる文字は次のとおりです。
大文字
0 ~ 9 の数字
このパラメーターは、8 つのスペースに設定することもできます。 この場合、呼び出し元プログラムは Allocate を発行する前に、次の呼び出しを発行する必要があります。
-
return_code
この呼び出しから返されたコード。 有効なリターン コードについては、このトピックの後半で説明します。
リターン コード
CM_OK
プライマリ リターン コード。呼び出しが正常に実行されました。
CM_PROGRAM_PARAMETER_CHECK
プライマリ リターン コード。 sym_dest_name で指定された値は、サイド情報テーブル内のシンボリック宛先名と一致せず、スペースではありません。
CM_PRODUCT_SPECIFIC_ERROR
プライマリ リターン コード。製品固有のエラーが発生し、製品エラー ログに記録されています。
状態の変更
会話が RESET 状態です。
return_codeがCM_OKされると、会話は INITIALIZE 状態に変わります。 その他のリターン コードの場合、会話の状態は変更されません。
注釈
初期値は既定値 CPI-C、またはシンボリック宛先名に関連付けられているサイド情報から派生します。 初期値とサイド情報の詳細については、「CPI-C プログラムの 初期会話特性 と サイド情報」を参照してください。
初期値は、 Set_ 呼び出しによって変更できます。
サイド情報に無効な値が含まれているか、 Set_ 呼び出しによって会話特性が無効な値に設定された場合、 Allocate 呼び出しでエラーが返されます。
CPI-C アプリケーションが複数の同時会話を呼び出そうとすると、すべての会話で 1 つのローカル APPC 論理ユニット (LU) のみが使用されます。 これにより、2 つ以上の依存 LU 6.2 LU 間で同時に会話が行われるのを防ぎ、後続の Initialize_Conversation (CMALLC) 呼び出しが最初の会話の割り当てが解除されるのを待機します。
CPI-C アプリケーションが複数の同時会話を呼び出す必要がある場合は、Host Integration Server とリモート システムの間で独立 LU 6.2 を使用する必要があります。
この呼び出しが正常に実行されると、CPI-C は会話識別子を生成します。 この識別子は、呼び出し元のプログラムによってこの会話に対して発行された他のすべての CPI-C 呼び出しに必要なパラメーターです。
通常の状況では、CPI-C アプリケーションは、2 つの異なるローカル APPC LU を使用して 2 つの同時会話を呼び出すことはできません。 レジストリ キーを使用できます。このキーを設定すると、Initialize_Conversation (cminit) 呼び出しごとに新しいTP_STARTED動詞を強制的に発行 CPI-C。 これは、呼び出しごとに APPC リソースの場所を強制するために必要です。 この動作を強制するために定義する必要があるレジストリ キーは次のとおりです。
\HKLM\CurrentControlSet\Services\SnaBase\Parameters\Client\GETNEWTPID