情報カタログ内の特定のオブジェクト・タイプに関する登録情報を修正するために使用しま す。
このアクションは、オブジェクト・タイプ自体を更新するものではありません。 オブジェクト・タイプの登録 情報を更新するものです。
許可
管理者
構文
APIRET APIENTRY FLGUpdateReg( PFLGHEADERAREA pObjRegStruct,
PSZ pszIconFileID,
PFLGEXTCODE pExtCode );
パラメーター
戻された理由コードの説明については、付録 D, 情報カタログ・マネージャーの理由コードを参照してくだ さい。
入力構造
FLGUpdateReg を使用するには、図 157 に示す入力構造を定義し なければなりません。 この構造はヘッダー域と定義域だけからなります。
使用方法
制約事項
前提条件
FLGUpdateReg 呼び出しを出す前に、登録情報の現行値を獲得しなければなりません。 この情報をもとの FLGCreateReg 呼び出しから保管することも、修正されるオブジェクト・タイプ登録 に関する FLGGetReg 呼び出しを出すこともできます。
入力要件
ヘッダー域
ヘッダー・レコードに示されたすべての情報を指定する必要があります。
定義域
これらの特性については、FLGCreateRegに説明されています。
オブジェクト域
更新することができるのは NAME (オブジェクト・タイプの外部名) の値だけです。 NAME 値はローカル情報カタログ内で固有でなければなりません。
それ以外の特性名を修正することはできません。 CREATOR、UPDATEBY、および UPDATIME はシステムで生成される値です。 DPNAME および PTNAME はオブジェクト・タイプの固有の識別子であり、更新する ことはできません。 システムで生成される特性の値は、オブジェクト・タイプ自体が作成または 追加されるときに生成されます。
DPNAME の値は必ず指定する必要があり、ヘッダー・レコード内の オブジェクト・タイプ ID に関連付けられた現行オブジェクト登録 の DPNAME と一致しなければなりません。
情報カタログ更新の制御
プログラムを可能な限り、情報カタログと同期化させるために、FLGUpdateReg が正常に 完了したあとで、呼び出しを FLGCommit (FLGCommit参照) に組み込む必要があります。 FLGUpdateReg が正常に完了しない場合は、呼び出し を FLGRollback (FLGRollback参照) に組み込む必要があります。
図 158 は、FLGUpdateReg API 呼び出しを出すために必要な C 言語コード を示しています。 このサンプル・コードは、MYIMAGE オブジェクト・タイプに関する オブジェクト・タイプ登録を更新します。 この更新では、外部名特性 NAME の値が修正されます。
図 158. C 言語による FLGUpdateReg の呼び出しのサンプル
APIRET rc; // Declare reason code
PFLGHEADERAREA pObjRegStruct; // Pointer to the input structure
UCHAR pszIconFileID[FLG_ICON_FILE_ID_MAXLEN+1]; // Path/File name of ICON
FLGEXTCODE ExtCode=0; // Declare extended code
.
. /* updating pObjRegStruct object type */
/* registration by providing an updated input structure */
.
strcpy (pszIconFileID,"Y:\\FLGICON2.ICO");
rc = FLGUpdateReg (pObjRegStruct, // Pointer to updated Input Structure
pszIconFileID, // Path/File name of file containing the ICON
&ExtCode); // Pass pointer to extended code
図 159 は、更新されるオブジェクト・タイプ登録情報 に関する特性と値の情報が入る入力構造 (この C コード の pObjRegStruct ポインターによって指し示されています) を示しています。
図 159. FLGUpdateReg のための入力構造のサンプル
この例では、システム生成特性 (作成者、最終変更者、および 最終変更日付および時間) に対応するオブジェクト域の値は更新することが できず 、FLGUpdateReg によって無視されます。 入力構造を生成するための方法として、FLGGetReg を出して現行の定義と値を獲得し、 その API 呼び出しで得られた出力構造をこの FLGUpdateReg 入力構造のテンプレートとし て使用するやり方があることを示すためです。
ヘッダー域の 33 桁目から 38 桁目までには、更新される登録情報に関する オブジェクト・タイプのオブジェクト・タイプ ID (000044) が入ります。