アプリケーションへのユーザーのアクセス権情報が含まれているユーザー・アプリケーション・アクセス構造体のリストを取得します。
構文
ESS_FUNC_M EssGetApplicationAccess (
hCtx, UserName, AppName, pCount, ppUserApp
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
UserName |
ESS_STR_T |
ユーザー名。NULLの場合は、指定されたアプリケーションのすべてのユーザーをリストします。 |
AppName |
ESS_STR_T |
アプリケーション名。NULLの場合は、指定されたユーザーのすべてのアプリケーションをリストします。 |
pCount |
ESS_PUSHORT_T |
ユーザーのアプリケーション構造体のカウントを受け取る変数のアドレス。 |
ppUserApp |
ESS_USERAPP_T、ESS_GROUPAPP_T |
割り当てられたユーザーのアプリケーション構造体の配列を受け取るポインタのアドレス。 |
備考
UserNameがNULLの場合、指定したアプリケーションのすべてのユーザーがリストされます。AppNameがNULLの場合は、指定したユーザーのすべてのアプリケーションがリストされます。ただし、UserNameおよびAppNameの両方をNULLにすることはできません
ユーザー・アプリケーションの構造体のAccessフィールドは、アプリケーションに対してユーザーに与えられたアクセス権を表すのに使用されます。一方MaxAccessフィールドは、すべてのソースから得られるユーザーの最高のアクセス権(たとえばグループを介したアクセス権やデフォルトのアプリケーション・アクセス権など)を表します。
ppUserAppに対して割り当てられたメモリーは、EssFreeを使用して解放する必要があります。
戻り値
正常終了の場合は、ユーザーとアプリケーションのカウントがpCountに、ユーザーのアプリケーション構造体のリストがppUserAppに戻されます。
アクセス
この関数を使用するには、独自のアプリケーションのアクセス情報を取得する場合を除き、呼出し元は指定したアプリケーションに対してアプリケーション・デザイナ権限(ESS_PRIV_APPDESIGN)を持っている必要があります。
例
ESS_FUNC_M
ESS_GetApplicationAccess (ESS_HCTX_T hCtx, ESS_HINST_T hInst)
{
ESS_FUNC_M sts = ESS_STS_NOERR;
ESS_STR_T UserName;
ESS_STR_T AppName;
ESS_USHORT_T Count = 0;
ESS_USHORT_T ind;
ESS_PUSERAPP_T UserApp = NULL;
UserName = "Admin";
AppName = "";
sts = EssGetApplicationAccess(hCtx, UserName,
AppName, &Count, &UserApp);
if(!sts)
{
if(Count && UserApp)
{
printf ("\n------Application Access List----\n\n");
for (ind = 0; ind < Count; ind++)
{
printf ("User->%s Application->%-10s
Access->%-4d MaxAccess->%-6d\r\n",
UserApp[ind].UserName,
UserApp[ind].AppName,
UserApp[ind].Access,
UserApp[ind].MaxAccess);
}
EssFree (hInst, UserApp);
}
else
printf ("\rUser Application list is empty\n\n");
}
return (sts);
}
関連トピック