別名テーブルを他の別名テーブルにコピーします。
構文
ESS_FUNC_M
EssOtlCopyAliasTable
(
hOutline, pszSourceAliasTable, pszDestAliasTable, fMerge
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル。 |
pszSourceAliasTable |
ESS_STR_T |
コピー元の別名テーブル名。このパラメータがESS_NULLの場合、デフォルトの別名テーブルが使用されます。 |
pszDestAliasTable |
ESS_STR_T |
コピー先の別名テーブル名。pszSourceAliasTable以外を指定する必要があります。 |
fMerge |
ESS_BOOL_T |
コピー元のファイルを既存のコピー先別名テーブルにマージする場合は、ESS_TRUEに設定します。コピー前にコピー先の別名テーブルを消去するにはESS_FALSEに設定します。 |
備考
コピー先の別名テーブルが存在しない場合は、作成されます。コピー先の別名テーブルが存在する場合、fMergeフラグがESS_TRUEに設定されていなければ、最初に消去されます。
単一のブロック・ストレージまたは集約ストレージ・データベース・アウトライン内の別名テーブルの最大数は(デフォルトのテーブルを含めて)32です。
別名テーブルをコピーすると、別名テーブルに関連付けられている言語コードがコピーされた別名テーブルから削除されます。
戻り値
正常終了の場合は0が戻されます。それ以外の場合は、次のいずれかの値が戻されます:
OTLAPI_BAD_ALIASTABLE
OTLAPI_ERR_MAXALIASTABLES
OTLAPI_ERR_ALIASTABLENAME
OTLAPI_ERR_COPYALIASTABLE: コピー元とコピー先のテーブルが同一です。
例
#include <essapi.h>
#include <essotl.h>
ESS_STS_T sts = 0;
ESS_HOUTLINE_T hOutline;
ESS_OBJDEF_T Object;
ESS_APPNAME_T szAppName;
ESS_DBNAME_T szDbName;
ESS_OBJNAME_T szFileName;
memset(&Object, '\0', sizeof(Object));
Object.hCtx = hCtx;
Object.ObjType = ESS_OBJTYPE_OUTLINE;
strcpy(szAppName, "Sample");
strcpy(szDbName, "Basic");
strcpy(szFileName, "Basic");
Object.AppName = szAppName;
Object.DbName = szDbName;
Object.FileName = szFileName;
sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE,
ESS_TRUE, &hOutline);
if (!sts)
{
sts = EssOtlCopyAliasTable(hOutline, ESS_NULL,
"Alias Table 2", ESS_TRUE);
}
関連トピック