アプリケーションの実行中に作成された内部データ値をオーバーライドできます。
構文:
typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32 exit_point,
IDP_EXIT_INFO *exit_info);
入力パラメーター:
- exit_point
- 8 = 応答処理の終了
- exit_info
-
- version
- 構造体形式のバージョン
- flags
- 0
- funcs
- ユーザー出口サポート関数
- request_cxt
-
version |
構造体形式のバージョン |
service_type |
クライアント要求の種別 |
display_buf_len |
display_buf のデータ長 |
flags |
要求コンテキストの制御フラグ |
service_name |
ロードされたサービスの名前 |
pgm_name |
サービスに関連付けられたメイン プログラムの名前 |
epoint_name |
起動するエントリ ポイントの名前 |
display_buf |
ANSI DISPLAY 文で出力される文字列の連結 |
- response
-
response_len |
response_buf の長さ |
flags |
制御フラグ |
response_buf |
デフォルトのマッピングで作成されるか、または出口処理で上書きされる応答バッファー |
content_type |
NULL 終了のコンテンツ タイプ文字列 (HTTP のみ) |
- exit_data
- ユーザー出口に固有のデータ
出力パラメーター:
- exit_info
-
- response
-
response_len |
response_buf の長さ |
response_buf |
応答バッファー |
content_type |
NULL 終了のコンテンツ タイプ文字列 (HTTP のみ) |
- exit_data
- ユーザー出口に固有のデータ
戻りコード:
- IDP_EXIT_CONTINUE
- 0 = 処理を続行します。
- IDP_EXIT_STOP
- 1 = 応答処理を終了します。デフォルトの応答は送信されません。エラー応答が必要です。
- IDP_EXIT_HANDLED
- 2 = 出口処理でデフォルトの応答がオーバーライドされました。
説明:
この出口処理は、デフォルト マッピングで生成される応答全体を上書きする機会を提供します。出口処理は、上記の返された要求フィールドのいずれかをオプションで変更できます。出口処理は、response_buf フィールドを置換するために使用されるメモリを割り当てるために、exit_info funcs 構造体の fn_alloc_mem サポート関数を使用します。出口処理が要求された応答構造体のフィールドを上書きすることを選択した場合は、IDP_EXIT_HANDLED を返す必要があります。
ユーザー出口プログラムは、IDP_EXIT_INFO 構造体の exit_data フィールドを所有します。通常、この情報を出口ポイントの起動間のコンテキスト情報を保持するために使用します。IDP_EXIT_ 戻り値を返す場合に、この情報を使用できます。