バージョン 6.3.3
 —  プログラミングガイド  —

パラメータ記述構造

インターフェイスでは、parameter_description という名前の構造に Natural サブプログラムまたはメソッドのパラメータに関する情報が提供されています。 この構造は、ヘッダーファイル natuser.h で定義されています。 このファイルは、ディレクトリ %NATDIR%\%NATVERS%\samples\sysexnni にあります。

parameter_description 構造の配列は、nni_callnat および同様の関数へのコールごとにインターフェイスに渡されます。 parameter_description 構造は、関数 nni_get_parm_info を使用して、パラメータセット内のパラメータから作成されます。

この構造の関連要素には、次の情報が含まれています。 この表にリストされていない要素は、すべて内部でのみ使用されます。

フォーマット 要素名 内容
void* address パラメータ値のアドレス。 再割り当てや解放はできません。 address 要素は、ダイナミック変数の配列および X-array に対しては NULL ポインタになります。 この場合は、配列データ全体にアクセスすることはできず、パラメータアクセス関数 nni_get_parm を使用して要素ごとにアクセスすることのみが可能です。
int format パラメータの Natural データタイプ。 詳細については、「Natural データタイプ」を参照してください。
int length パラメータ値の Natural の長さ。 データタイプ NNI_TYPE_ALPHA および NNI_TYPE_UNICODE の場合は文字数。 データタイプ NNI_TYPE_PACK および NNI_TYPE_NUM の場合は小数点文字の前にある桁数。 配列の場合は 1 つのオカレンスの長さ。 ダイナミック変数の配列の場合は長さが 0 で示されます。 次に、関数 nni_get_parm_array_length を使用して、個別のオカレンスの長さを決定する必要があります。
int precision データタイプ NNI_TYPE_PACK および NNI_TYPE_NUM の場合は、小数点文字の後にある桁数。これ以外では 0。
int byte_length パラメータ値の長さ(バイト単位)。 配列の場合は 1 つのオカレンスの長さ(バイト単位)。 ダイナミック変数の配列の場合は長さが 0 バイトで示されます。 次に、関数 nni_get_parm_array_length を使用して、個別のオカレンスの長さを決定する必要があります。
int dimensions 次元の数。 スカラーの場合は 0。 次元の最大数は 3 です。
int length_all パラメータ値の合計長(バイト単位)。 配列の場合は配列全体の長さ(バイト単位)。 ダイナミック変数の配列の場合は合計長が 0 で示されます。 次に、関数 nni_get_parm_array_length を使用して、個別のオカレンスの長さを決定する必要があります。
int flags パラメータフラグ。「フラグ」を参照してください。
int occurrences[10] 各次元におけるオカレンス数。 最初の 3 つのオカレンスだけが使用されます。
int indexfactors[10] 各次元の配列インデックスファクタ。 最初の 3 つのオカレンスだけが使用されます。

変数の範囲が固定された固定長の配列の場合、配列の内容には構造要素 address を使ってダイレクトにアクセスできます。 この場合は、次のことが適用されます。

Top of page