指定した基本メンバーと関連付けられた指定の属性次元に属性メンバーを戻します。この場合、関連付けの妥当性には指定したパースペクティブのタプルが1つ以上含まれています。
該当している各属性メンバーに対して、基本メンバーへの関連付けの完全な妥当性セットをオプションで戻すことができます(pppValiditySetsにNULL以外の値を指定することによって可能です)。
pphMembersにはメンバー・ハンドルの配列が含まれ、pppValiditySetsには妥当性セット・ポインタの配列が含まれます。
usValiditySetTypeを使用して、必要な妥当性セットのタイプを指定します。
パースペクティブは、独立したメンバーを個別に指定する必要がある点に注意してください。
パースペクティブが指定されていない場合、またはパースペクティブで独立したメンバーのNULLセットが指定されている場合、独立したメンバーの任意の組合せに対して存在するすべての関連付けがルーチンによって検討されます。この場合、戻された妥当性セットには、個別の独立したメンバーの範囲が含まれることがあり、クライアントはこれらを分割する必要があります。
構文
ESS_FUNC_M EssOtlVaryingGetAssociatedAttributes (
hOutline, hBaseMember, hAttrDim, pPerspective, pusCount,
pphMembers, usValiditySetType, **pppValiditySets
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル |
hBaseMember |
ESS_HMEMBER_T |
基本次元メンバーのハンドル |
hAttrDim |
ESS_HMEMBER_T |
属性メンバーのハンドル |
pPerspective |
ESS_PERSPECTIVE_T |
クライアントまたはサーバーで関連付けをクエリーする際に使用される、独立したメンバーの集合へのポインタ |
pusCount |
ESS_PUSHORT_T |
戻される可変属性メンバーの数へのポインタ |
pphMembers |
ESS_PPHMEMBER_T |
属性メンバーのハンドルの配列へのポインタ |
usValiditySetType |
ESS_USHORT_T |
独立したメンバーに割り当てられた妥当性セットのタイプ:
|
**pppValiditySets |
ESS_VALIDITYSET_T |
関連付けがTRUEの独立したメンバーの集合 |
戻り値
正常終了の場合は、0が戻されます。
例
void DisplayVaryingAttributes(ESS_HOUTLINE_T hOutline, ESS_HMEMBER_T hBaseMbr, ESS_HMEMBER_T hAttrDim,
ESS_PERSPECTIVE_T *pPerspective, ESS_USHORT_T usValiditySetType)
{
ESS_STS_T sts = ESS_STS_NOERR;
ESS_USHORT_T Count, i, j, totalIndMbrs;
ESS_PHMEMBER_T phAttrMbrs;
ESS_PVALIDITYSET_T *ppValiditySets;
ESS_PMBRINFO_T pMemberInfo1, pMemberInfo2;
sts = EssOtlVaryingGetAssociatedAttributes(hOutline,
hBaseMbr,
hAttrDim,
pPerspective,
&Count,
&phAttrMbrs,
usValiditySetType,
&ppValiditySets);
printf("\nEssOtlVaryingGetAssociatedAttributes sts: %d", sts);
if(!sts)
{
if(Count)
{
for (i = 0; i < Count ;++i)
{
sts = EssOtlGetMemberInfo(hOutline, phAttrMbrs[i], &pMemberInfo1);
printf("\n\t%s", pMemberInfo1->szMember);
EssOtlFreeStructure(hOutline, ESS_DT_STRUCT_MBRINFO, 1, pMemberInfo1);
if(ppValiditySets[i])
{
totalIndMbrs = (ESS_SHORT_T)(ppValiditySets[i]->countOfIndepRanges) * 4;
printf("\n\t\tValidity Type: %d - ", ppValiditySets[i]->usValiditySetType);
switch(ppValiditySets[i]->usValiditySetType)
{
case ESS_VALIDITYSET_TYPE_MBRHDLS:
printf("Member Handles");
for(j = 0; j < totalIndMbrs; j++)
{
if(j >= 3)
if(j%4 == 0)
printf("\n");
sts = EssOtlGetMemberInfo(hOutline, ppValiditySets[i]->pIndepMbrs[j], &pMemberInfo2);
printf("\n\t\tValidity independent member: %s", pMemberInfo2->szMember);
EssOtlFreeStructure(hOutline, ESS_DT_STRUCT_MBRINFO, 1, pMemberInfo2);
}
break;
case ESS_VALIDITYSET_TYPE_MBRNAMS:
printf("Member Names");
for(j = 0; j < totalIndMbrs; j++)
{
if(j >= 3)
if(j%4 == 0)
printf("\n");
printf("\n\t\tValidity independent member: %s", ppValiditySets[i]->pIndepMbrs[j]);
}
break;
default:
printf("Unrecognized");
}
printf("\n\t\tValidity count of Indep Dims: %d", ppValiditySets[i]->countOfIndepDims);
printf("\n\t\tValidity count of Indep Ranges: %d", ppValiditySets[i]->countOfIndepRanges);
printf("\n");
}
EssFree(hInst, ppValiditySets[i]);
}
printf("\n");
}
else
printf("\n\tNo member returned.\n");
}
printf("\n");
EssFree(hInst,ppValiditySets);
}
関連トピック