フラグ

構造 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_0NNI_FLG_UBVAR_0 と組み合わせることはできません。

NNI_FLG_DYNAMIC がオンになっているときは、NNI_FLG_DYNVAR または NNI_FLG_XARRAY、あるいはこの両方もオンになります。両方がオンの場合、パラメータは可変長の要素が含まれる X-array になります。