アウトラインが正しいことを確認します。この関数は、グローバル・アウトライン・エラーおよび不正なメンバーそれぞれのエラーの両方を戻します。
構文
ESS_FUNC_M
EssOtlVerifyOutline
(
hOutline, pulErrors, pulCount, pMbrErrors
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル。 |
pulErrors |
ESS_PULONG_T |
グローバル・アウトライン・エラーのビットマスク宛先を指すポインタ。現在、このフィールドには1つの値のみあります: ESS_OUTERROR_CURTOOMANYDIMS |
pulCount |
ESS_PULONG_T |
エラーのあるメンバーの数。pMbrErrors配列の要素数を定義します。 |
pMbrErrors |
ESS_OUTERROR_T |
*pulCountメンバーのある配列を指すポインタ。配列の各要素には、単一のメンバーのエラーが含まれています。 |
備考
この関数では、次の点が確認されます:
共有メンバーにおけるユーザー属性の重複
重複するレベル名、世代名または別名
属性の追加および関連付けに関する制限
サーバーへのアウトラインの保存は、そのアウトラインにエラーがない場合のみ成功します(*pulErrors == 0かつ*pulCount == 0)。
pMbrErrors配列を解放するには、EssFree()を使用します。
戻り値
正常終了の場合は0が戻されます。それ以外の場合は、次のいずれかの値が戻されます:
ESS_OUTERROR_SHAREUDA
ESS_OUTERROR_DUPGENLEVNAME
例
#include <essapi.h>
#include <essotl.h>
ESS_STS_T sts = 0;
ESS_OBJDEF_T Object;
ESS_HOUTLINE_T hOutline;
ESS_ULONG_T ulErrors;
ESS_ULONG_T ulCount;
ESS_POUTERROR_T pMbrErrors = ESS_NULL;
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 = EssOtlVerifyOutline(hOutline, &ulErrors,
&ulCount, &pMbrErrors);
}
if (pMbrErrors)
{
EssFree(hInst, pMbrErrors);
}
関連トピック