サーバーまたはクライアントのオブジェクト・システムにオブジェクトをコピーします。
構文
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); }
関連トピック