Initialize_Conversation (CPI-C)

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 を発行する前に、次の呼び出しを発行する必要があります。

  • Set_Mode_Name

  • Set_Partner_LU_Name

  • Set_TP_Name

    return_code
    この呼び出しから返されたコード。 有効なリターン コードについては、このトピックの後半で説明します。

リターン コード

CM_OK
主なリターン コード。呼び出しが正常に実行されました。

CM_PROGRAM_PARAMETER_CHECK
主なリターン コード。 sym_dest_name で指定された値が、サイド情報テーブル内のシンボリック宛先名と一致せず、スペースではありません。

CM_PRODUCT_SPECIFIC_ERROR
主なリターン コード。製品固有のエラーが発生し、製品エラー ログに記録されています。

State Changes (状態の変化)

会話が RESET 状態です。

return_codeがCM_OKされると、会話は INITIALIZE 状態に変わります。 その他のリターン コードの場合、会話の状態は変更されません。

注釈

初期値は CPI-C デフォルトであるか、シンボリック宛先名に関連付けられたサイド情報から派生します。 初期値とサイド情報の詳細については、CPI-C プログラム初期会話特性およびサイド情報を参照してください。

初期値は、 Set_ 呼び出しによって変更できます。

サイド情報に無効な値が含まれているか 、Set_ 呼び出しでメッセージ交換特性が無効な値に設定されている場合は、 Allocate 呼び出しでエラーが返されます。

CPI-C アプリケーションが複数の同時会話を呼び出そうとすると、すべての会話で使用されるローカル APPC 論理ユニット (LU) は 1 つだけです。 これにより、2 つ以上の依存 LU 6.2 LU 間での同時会話が防止され、後続のInitialize_Conversation (CMALLC) 呼び出しが最初の会話の割り当てが解除されるまで待機します。

CPI-C アプリケーションが複数の同時会話を呼び出す必要がある場合は、ホスト統合サーバーとリモート・システムの間で独立 LU 6.2 を使用する必要があります。

この呼び出しが正常に実行されると、CPI-C はメッセージ交換識別子を生成します。 この ID は、呼び出し側プログラムによってこの会話に対して発行された他のすべての CPI-C 呼び出しに必要なパラメーターです。

通常の状況では、CPI-C アプリケーションは、2 つの異なるローカル APPC LU を使用して 2 つの同時会話を呼び出すことはできません。 レジストリ キーを使用できます。set では、すべてのInitialize_Conversation (cminit) 呼び出しに対して CPI-C が新しいTP_STARTED動詞を強制的に発行します。 これは、呼び出しごとに APPC リソースの場所を強制するために必要です。 この動作を強制するために定義する必要があるレジストリ キーは次のとおりです。

\HKLM\CurrentControlSet\Services\SnaBase\Parameters\Client\GETNEWTPID