サーバー上のアウトラインを再構築します。これは非同期の呼出しです。
構文
ESS_FUNC_M
EssOtlRestructure
(
hCtx, usRestructType
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hCtx |
ESS_HCTX_T |
サーバー・ログイン・コンテキスト・ハンドル。これは、EssOtlWriteOutline()によってアウトラインが保存されたサーバーである必要があります。 |
usRestructType |
ESS_USHORT_T |
実行する再構築のタイプ。これは、次のいずれかの値にできます:
|
備考
この関数を呼び出す前に、EssOtlWriteOutline()を使用してアウトラインを保存する必要があります。
この呼出しは、サーバーに保存されたアウトラインに対してのみ有効です。
これは非同期の呼出しです。この呼出しを行った後、EssGetProcessState()で再構築操作の完了を示すステータスが戻されるまで、EssGetProcessState()を呼び出す必要があります。
データが正しく再構築されるためには、fKeepTransフラグをESS_TRUEに設定したEssOtlOpenOutline()を使用して、アウトラインを開いておく必要があります。
戻り値
正常終了の場合は0が戻されます。それ以外の場合はOTLAPI_BAD_RESTRUCTTYPE構造体が戻されます。
アクセス
この関数を使用するには、呼出し元は指定したアプリケーション、アウトライン・オブジェクトの保存先であるデータベースのいずれか、または両方に対するアクセス権が必要です。アウトライン・オブジェクトを再構築するには、指定したアプリケーション、またはアウトラインが含まれるデータベースに対して、アプリケーション・デザイナまたはデータベース・デザイナの権限(ESS_PRIV_APPDESIGNまたはESS_PRIV_DBDESIGN)が必要です。
例
#include <essapi.h>
#include <essotl.h>
ESS_STS_T sts = 0;
ESS_HCTX_T hCtx;
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 */
/* write outline to server using */
/* EssOtlWriteOutline() */
if (!sts)
{
sts = EssOtlRestructure(hCtx, ESS_DOR_ALLDATA);
}
/* need to call EssGetProcessState() */
/* to check for completion before proceeding */
関連トピック