Program 以外のオブジェクト・タイプに関する Programs オブジェクトのリストを検索し ます。
許可
管理者またはユーザー
構文
APIRET APIENTRY FLGListPrograms( PSZ pszObjTypeID,
PFLGHEADERAREA * ppListStruct,
PFLGEXTCODE pExtCode );
パラメーター
この出力構造には、Programs オブジェクト・インスタンスの 16 文字 の FLGID と 80 文字の外部名が入ります。
リスト内の項目は外部名 (名前特性の値) によって分類されます。実際の順序 は、情報カタログに使用されるデータベース管理システムで使用している照合順序 に従います。
FLGListPrograms によって戻すことのできる Programs オブジェクト・インスタンスの 最大数は、計算機で使用可能な記憶域によって異なり、約 5000 です。
戻された理由コードの説明については、付録 D, 情報カタログ・マネージャーの理由コードを参照してくだ さい。
出力構造
FLGListPrograms は、図 115 に示すように、Programs オブジェクトのリスト が入っている出力構造を作成します。
出力構造のオブジェクト域には、指定されたオブジェクト・タイプに 関連するすべての Programs オブジェクトのリストが入ります。 これらの Programs オブジェクトは、オブジェクト・インスタンス の FLGID の値と外部名によって識別されます。
使用方法
出力構造に割り振られたメモリーの解放
FLGListPrograms が出力構造にあるデータを戻した場合、出力構造に戻されたデータを 保管してから、FLGFreeMem を呼び出さなくてはなりません (FLGFreeMem参照)。 メモリーを解放するのに、たとえば C 言語指示のような他の方式は使用しないで ください。
図 116 は、FLGListPrograms API 呼び出しを出すために必要な C 言語コード を示しています。
このサンプル・コードは、REPORT という名前のオブジェクト・タイプが 関連付けられているプログラムのリストを検索します。
REPORT とともに使用するために作成されたプログラムとして、 Read report と Update report の 2 つがあります。
図 116. C 言語による FLGListPrograms の呼び出しのサンプル
APIRET rc; // reason code from FLGListPrograms
UCHAR pszObjTypeID[FLG_OBJTYPID_LEN + 1];
PFLGHEADERAREA * ppListStruct; // pointer to output structure pointer
FLGEXTCODE ExtCode=0; // extended code
.
. /* set object type ID to ID of 'REPORT' */
.
rc = FLGListPrograms (pszObjTypeID,
ppListStruct,
&ExtCode);
図 117 は、この API 呼び出しのための出力構造を示しています。
図 117. FLGListPrograms のための出力構造のサンプル