構造 parameter_description
には、パラメータの状態に関する情報が含まれている要素 flags
があります。関数 nni_init_parm*
を使用して、パラメータの初期化中にこれらのフラグの一部を指定することもできます。個々のフラグは、要素 flags
内で論理 OR
と組み合わせることができます。ヘッダーファイル natni.h には、次のフラグが定義されています。このファイルは、ディレクトリ <install-dir>/natural/samples/sysexnni に含まれています。
リターンコード | 意味 |
---|---|
NNI_FLG_PROTECTED |
パラメータは書き込み保護されています。 |
NNI_FLG_DYNAMIC (*) |
パラメータはダイナミック(可変長または X-array)です。 |
NNI_FLG_NOT_CONTIG (*) |
配列は連続していません。 |
NNI_FLG_AIV (*) |
パラメータは AIV 変数または INDEPENDENT 変数です。 |
NNI_FLG_DYNVAR (*) |
パラメータの長さは可変です。 |
NNI_FLG_XARRAY (*) |
パラメータは X-array です。 |
NNI_FLG_LBVAR_0 |
次元 0 の下限は可変です。 |
NNI_FLG_UBVAR_0 |
次元 0 の上限は可変です。 |
NNI_FLG_LBVAR_1 |
次元 1 の下限は可変です。 |
NNI_FLG_UBVAR_1 |
次元 1 の上限は可変です。 |
NNI_FLG_LBVAR_2 |
次元 2 の下限は可変です。 |
NNI_FLG_UBVAR_2 |
次元 2 の上限は可変です。 |
関数 nni_init_parm*
に明示的に設定できるのは、(*)
でマークされたフラグのみです。その他のフラグは、パラメータのタイプに従って、インターフェイスによって自動的に設定されます。
NNI_FLG_*VAR*
フラグの 1 つが設定されている場合、配列は X-array です。X-array の各次元では、下限または上限の両方ではなくどちらかのみを可変にすることができます。このため、例えば、フラグ NNI_FLG_LBVAR_0
は NNI_FLG_UBVAR_0
と組み合わせることはできません。
NNI_FLG_DYNAMIC
がオンになっているときは、NNI_FLG_DYNVAR
または NNI_FLG_XARRAY
、あるいはこの両方もオンになります。両方がオンの場合、パラメータは可変長の要素が含まれる X-array になります。