IBM Books

言語環境解説書

dtw_parm_data_t 構造体

Net.Data は、dtw_parm_data_t 構造体を使用してパラメーターを言語環境に渡します。 パラメーターは、次の 3 つのソースから得られます。

Net.Data は、最初に明示的パラメーター、 続いて ENVIRONMENT ステートメントで指定されたパラメーター、次に戻り変数を渡します。

dtw_parm_data_t 構造体の形式は次のとおりです。

typedef struct dtw_parm_data_t {      /* Parameter data              */
    int   parm_descriptor;            /* Parameter descriptor        */
    char *parm_name;                  /* Parameter name              */
    char *parm_value;                 /* Parameter value             */
    void *res1;                       /* Reserved                    */
    void *res2;                       /* Reserved                    */
} dtw_parm_data_t;

dtw_parm_data_t 構造体内のフィールド:

parm_descriptor
parm_descriptor フィールドは、言語環境に渡されるパラメーターの型と使用方法を記述します。 Net.Data は、次の定数を使用して OR 演算を実行することによってフィールドを設定します。

parm_name
parm_name フィールドは、パラメーターの名前を含む文字列へのポインターです。 パラメーターがリテラル・ストリングの場合、Net.Data は、このポインターを NULL に設定します。

parm_value
parm_value フィールドは、パラメーターの値を含むオブジェクトへのポインターです。 パラメーターがまだ定義されていない変数である場合、 このポインターは、Net.Data によって NULL に設定されます。

res1 および res2 フィールドは予約フィールドです。

parm_name および parm_value はともに、Net.Data 実行時 heap、 すなわち Net.Data が動的メモリー割り当てに使用するメモリーのエリアから割り当てられたオブジェクトを指し示します。 parm_name または parm_value が別のストリングに置き換えられると、 元のストリングは解放され、Net.Data ヒープから割り当てられた文字ストリングを指し示すポインターに置き換えられなければなりません。 元のストリングの解放には、dtw_malloc() および dtw_free() ユーティリティー関数を使用します。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]