サーバーまたはクライアントのオブジェクト・システムにオブジェクトをコピーします。
構文
ESS_FUNC_M EssCopyObject (
hSrcCtx, hDestCtx, ObjType,
SrcApp, DestApp, SrcDb, DestDb, SrcObj, DestObj
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hSrcCtx |
ESS_HCTX_T |
コピー元オブジェクトのAPIコンテキスト・ハンドル。EssCreateLocalContextによって戻されたローカル・コンテキスト・ハンドルの場合もあります。 |
hDestCtx |
ESS_HCTX_T |
コピー先オブジェクトのAPIコンテキスト・ハンドル。EssCreateLocalContextによって戻されたローカル・コンテキスト・ハンドルの場合もあります。 |
ObjType |
ESS_OBJTYPE_T |
オブジェクト・タイプ(単一のタイプのみ)。使用できる値は、ビットマスク・データ型(C)を参照してください。 |
SrcApp |
ESS_STR_T |
コピー元アプリケーション名。 |
DestApp |
ESS_STR_T |
コピー先アプリケーション名。 |
SrcDb |
ESS_STR_T |
コピー元データベース名。NULLの場合は、コピー元のアプリケーションのサブディレクトリが使用されます。 |
DestDb |
ESS_STR_T |
宛先データベース名。NULLの場合は、コピー先のアプリケーションのサブディレクトリが使用されます。 |
SrcObj |
ESS_STR_T |
コピー元のソース・オブジェクトの名前。 |
DestObj |
ESS_STR_T |
コピー先のオブジェクトの名前。オブジェクト名の制限を参照してください。 |
備考
オブジェクトはクライアントからサーバーへ、サーバーからクライアントへ、または同一サーバー上でコピーできます。いずれの場合も、コピー先のオブジェクトは既存のもの以外か、呼出し元がロックしたものである必要があります。
アウトライン・オブジェクトはコピーできません。関連付けられているアウトラインを含めてデータベースをコピーするには、EssCopyDatabaseを使用します。
戻り値
なし。
アクセス
この関数を使用するには、呼出し元がオブジェクトを含む指定されたソース・アプリケーション、またはデータベース(オブジェクト・タイプに依存します)、あるいはその両方に対する適切なレベルのアクセス権と、指定された宛先アプリケーションまたはデータベースに対するアプリケーションまたはデータベース・デザイン権限(ESS_PRIV_APPDESIGNまたはESS_PRIV_DBDESIGN)を持っている必要があります。
例
ESS_FUNC_M
ESS_CopyObject(ESS_HCTX_T hCtx)
{
ESS_FUNC_M sts = ESS_STS_NOERR;
ESS_HCTX_T hDestCtx;
ESS_STR_T SrcApp;
ESS_STR_T DestApp;
ESS_STR_T SrcDb;
ESS_STR_T DestDb;
ESS_STR_T SrcObj;
ESS_STR_T DestObj;
ESS_OBJTYPE_T ObjType;
hDestCtx = hCtx;
SrcApp = "Sample";
SrcDb = "Basic";
SrcObj = "Test";
DestApp = "Sample";
DestDb = "Basic";
DestObj = "NewTest";
ObjType = ESS_OBJTYPE_TEXT;
sts = EssCopyObject(hCtx,hDestCtx,ObjType,SrcApp,
DestApp,SrcDb,DestDb,SrcObj,DestObj);
if(!sts)
printf("The Object is copied.\r\n");
return (sts);
}
関連トピック