Other Alias
XrmCombineDatabase, XrmCombineFileDatabase書式
void XrmMergeDatabases(source_db, target_db)XrmDatabase source_db, *target_db;
void XrmCombineDatabase(source_db, target_db, override)
XrmDatabase source_db, *target_db;
Bool override;
Status XrmCombineFileDatabase(filename, target_db, override)
char *filename;
XrmDatabase *target_db;
Bool override;
引き数
- source_db
- 対象となるデータベースにマージされるリソースデータベースを指定する。
- target_db
- 元のデータベースがマージされる先のリソースデータベースを指定する。
- filename
- リソースデータベースのファイル名を指定する。
- override
- マージ元のエントリーがマージ先のエントリーを上書きするかどうかを指定する。
説明
関数 XrmMergeDatabases を呼ぶことは、引き数 override に True を指定して関数 XrmCombineDatabase を呼ぶことと等価である。関数 XrmCombineDatabase は、あるデータベースの内容を他のデータベースにマージする。 あるエントリーについて、2つのデータベースが同じ指示子を用いている場合、 引き数 override が True ならば、target_db のエントリーは source_db のエントリーに置き換えられる。 そうでない場合、source_db のエントリーは破棄される。 target_db が NULL の場合、 XrmCombineDatabase は単に source_db の内容を target_db に格納する。 そうでない場合、source_db はマージによって破壊されるが、target_db が指 すデータベースは破壊されない。 データベースそれぞれのロケールに関係なく、データベースは値やタイプの変 更をすることなくマージされる。 マージ先のデータベースのロケールは変更されない。
関数 XrmCombineFileDatabase は、リソースファイルの内容をデータベースにマージする。 あるエントリーについて、ファイルとデータベースが同じ指示子を用いている 場合、引き数 override が True ならば、データベースのエントリーはファイルのエントリーに置き換えられる。 そうでない場合、ファイルのエントリーは破棄される。 ファイルは現在のロケールで展開される。 ファイルを読み込むことができない場合、ステータスとして 0 が返される。 そうでない場合には、0 でないステータスが返される。 target_db が NULL の場合、 XrmCombineFileDatabase はこれに対する新しいデータベースを作成して返す。 そうでない場合、target_db が指すデータベースはマージによって破壊される ことはない。 データベースのロケールに関係なく、データベースのエントリーの値や型は変 更されることなくマージされる。 マージ先のデータベースのロケールは変更されない。