メンバーのユーザー定義属性をすべて取得します。
構文
ESS_FUNC_M
EssOtlGetUserAttributes
(
hOutline, hMember, pusCount,
ppAttributeList
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル。 |
hMember |
ESS_HMEMBER_T |
ユーザー定義属性を取得するメンバーのハンドル。 |
pusCount |
ESS_PUSHORT_T |
戻されるユーザー属性の数。ppAttributeList配列の要素数を定義します。 |
ppAttributeList |
ESS_PPMBRNAME_T |
*pusCountメンバーの配列。配列の要素には1つのユーザー定義属性文字列が含まれます。 |
備考
呼出し元はEssOtlSetUserAttribute()呼出しを使用してメンバーの任意の数のユーザー定義属性を設定できます。各属性は、メンバー名と同じ表記規則に従った一意の文字列として定義されます。
ユーザー属性は、メンバー名、別名、世代名またはレベル名と同じであっても構いません。
属性リストを解放するには、EssFree()を呼び出します。
戻り値
成功の場合、0が戻されます。
例
#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;
ESS_HMEMBER_T hMember;
ESS_USHORT_T Count, ind;
ESS_PMBRNAME_T AttributeList = ESS_NULL;
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);
/************ Get User Attributes ***********/
if (!sts)
{
sts = EssOtlFindMember(hOutline, "Jan",
&hMember);
}
if (!sts && hMember)
{
sts = EssOtlGetUserAttributes(hOutline,
hMember, &Count, &AttributeList);
}
if (!sts && AttributeList)
{
printf("User Attribute:\n");
for(ind = 0; ind < Count; ind++)
{
printf("%s\n",AttributeList[ind]);
}
EssFree(hInst, AttributeList);
}
関連トピック