アプリケーションへのユーザーのアクセス権情報が含まれているユーザー・アプリケーション・アクセス構造体のリストを取得します。
構文
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); }
関連トピック