既存のアウトライン情報をディスクに書き込みます。
構文
ESS_FUNC_M
EssOtlWriteOutline
(
hOutline, pObject
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル。 |
pObject |
ESS_POBJDEF_T |
書込み対象のアウトライン・オブジェクト。 |
備考
アウトラインをサーバー・オブジェクトとして保存する場合、アウトラインは当初.OTNファイルとして保存されます。次にEssOtlRestructure()を呼び出して、実際の.OTLファイルを作成する必要があります。
アウトラインをサーバー・オブジェクトとして保存する場合、オブジェクト名はデータベース名と同じである必要があります。
サーバー・アウトライン・オブジェクトまたはクライアント・アウトライン・オブジェクトをローカル・データベースに保存する場合、データベースがすでに存在している必要があります。
指定されたユーザーによってアウトラインが現在ロックされていない場合、この呼出しは正常に行われません(ESS_OBJDEF_T構造体のhCtxパラメータ)。
戻り値
正常終了の場合は0が戻されます。それ以外の場合は、次のいずれかの値が戻されます:
OTLAPI_BAD_OBJTYPE
OTLAPI_ERR_NOTVERIFIED
アクセス
この関数を使用するには、指定したアプリケーションと、アウトライン・オブジェクトを含むデータベースのいずれか、またはその両方に対して、呼出し元が適切なレベルのアクセス権を持っている必要があります。アウトライン・オブジェクトを書き込むには、指定したアプリケーション、またはアウトラインが含まれたデータベースに対してアプリケーション・デザイナまたはデータベース・デザイナ権限(ESS_PRIV_APPDESIGNまたはESS_PRIV_DBDESIGN)が必要です。
例
#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);
/* body of code */
if (!sts)
{
sts = EssOtlWriteOutline(hOutline, &Object);
}
/* restructure db using EssOtlRestructure() */
関連トピック