EssListGroupsInfoEx

ある特定のEssbaseサーバー、アプリケーションまたはデータベースへのアクセス権を持つすべてのグループをリストします。EssListGroupsに似ていますが、グループ・リスト構造体には、ユーザー・ディレクトリおよび一意のID属性を含められます。

構文

            ESS_FUNC_M EssListGroupsInfoEx (
            hCtx,
             
            AppName
            , 
            DbName
            , 
            pCount
            , 
            ppGroupList
            );
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

APIコンテキスト・ハンドル(入力)。

AppName

ESS_STR_T

アプリケーション名(入力)。NULLの場合は全グループがリストされます。

DbName

ESS_STR_T

データベース名(入力)。NULLの場合は、アプリケーション内のすべてのデータベースのグループがリストされます。

pCount

ESS_PUSHORT_T

グループのカウントを受け取る変数のアドレス(出力)。

ppGroupList

ESS_PPGROUPINFOID_T

割り当てられたグループ情報構造体の配列を受け取るポインタのアドレス(出力)。グループ・リスト構造体には、ユーザー・ディレクトリおよび一意のID属性を含められます。

備考

戻り値

正常終了の場合、グループ数のカウントがpCountに、指定されたアプリケーションおよびデータベースへのアクセス権を持つグループのリストがppGroupListに戻されます。

アクセス

この関数を使用するのに、特別な権限は必要ありません。

         
void DisplayGroupsInfoEx(ESS_GROUPINFOID_T groupInfo)
{
   ESS_STS_T sts  = ESS_STS_NOERR;
   ESS_BOOL_T isDefined = ESS_TRUE;

   printf("\tUser Name: %s\n", groupInfo.Name);
   printf("\tProvider Name: %s\n", groupInfo.ProviderName);
   printf("\tIdentity: %s\n", groupInfo.connparam);
   printf("\tDescription: %s\n", groupInfo.Description);
   printf("\tEMail Identification: %s\n", groupInfo.EMailID);

   if (groupInfo.LockedOut)
      printf("\tLocked out: Yes\n");
   else
      printf("\tLocked out: No\n");

   if (groupInfo.PwdChgNow)
      printf("\tChange the password now: Yes\n");
   else
      printf("\tChange the password now: No\n");

   printf("\tPassword: %s\n", groupInfo.Password);
   printf("\tApplication: %s\n", groupInfo.AppName);
   printf("\tDatabase: %s\n", groupInfo.DbName);

   if (groupInfo.Login)
      printf("\tLogged in: Yes\n");
   else
      printf("\tLogged in: No\n");

   switch(groupInfo.Access)
   {
      case ESS_ACCESS_ADMIN:
         printf("\tAccess: %d - ESS_ACCESS_ADMIN\n", groupInfo.Access);
         break;
      case ESS_ACCESS_APPALL:
         printf("\tAccess: %d - ESS_ACCESS_APPALL\n", groupInfo.Access);
         break;
      case ESS_ACCESS_DBALL:
         printf("\tAccess: %d - ESS_ACCESS_DBALL\n", groupInfo.Access);
         break;
      case ESS_ACCESS_APPCREATE:
         printf("\tAccess: %d - ESS_ACCESS_DBALL\n", groupInfo.Access);
         break;
      case ESS_ACCESS_APPMANAGE:
         printf("\tAccess: %d - ESS_ACCESS_APPMANAGE\n", groupInfo.Access);
         break;
      case ESS_ACCESS_DBCREATE:
         printf("\tAccess: %d - ESS_ACCESS_DBCREATE\n", groupInfo.Access);
         break;
      case ESS_ACCESS_DBMANAGE:
         printf("\tAccess: %d - ESS_ACCESS_DBMANAGE\n", groupInfo.Access);
         break;
      case ESS_ACCESS_CALC:
         printf("\tAccess: %d - ESS_ACCESS_CALC\n", groupInfo.Access);
         break;
      case ESS_ACCESS_WRITE:
         printf("\tAccess: %d - ESS_ACCESS_WRITE\n", groupInfo.Access);
         break;
      case ESS_ACCESS_READ:
         printf("\tAccess: %d - ESS_ACCESS_READ\n", groupInfo.Access);
         break;
      case ESS_PRIV_USERCREATE:
         printf("\tAccess: %d - ESS_PRIV_USERCREATE\n", groupInfo.Access);
         break;
      case ESS_PRIV_APPCREATE:
         printf("\tAccess: %d - ESS_PRIV_APPCREATE\n", groupInfo.Access);
         break;
      case ESS_PRIV_APPMANAGE:
         printf("\tAccess: %d - ESS_PRIV_APPMANAGE\n", groupInfo.Access);
         break;
      case ESS_PRIV_APPLOAD:
         printf("\tAccess: %d - ESS_PRIV_APPLOAD\n", groupInfo.Access);
         break;
      case ESS_PRIV_DBCREATE:
         printf("\tAccess: %d - ESS_PRIV_DBCREATE\n", groupInfo.Access);
         break;
      case ESS_PRIV_DBMANAGE:
         printf("\tAccess: %d - ESS_PRIV_DBMANAGE\n", groupInfo.Access);
         break;
      case ESS_PRIV_DBLOAD:
         printf("\tAccess: %d - ESS_PRIV_DBLOAD\n", groupInfo.Access);
         break;
      case ESS_PRIV_CALC:
         printf("\tAccess: %d - ESS_ACCESS_DBALL\n", groupInfo.Access);
         break;
      case ESS_PRIV_WRITE:
         printf("\tAccess: %d - ESS_PRIV_WRITE\n", groupInfo.Access);
         break;
      case ESS_PRIV_READ:
         printf("\tAccess: %d - ESS_PRIV_READ\n", groupInfo.Access);
         break;
      case ESS_PRIV_NONE:
         printf("\tAccess: %d - ESS_PRIV_NONE\n", groupInfo.Access);
         break;
      default:
         printf("\tAccess: Unknown\n");
   }

   switch(groupInfo.MaxAccess)
   {
      case ESS_ACCESS_ADMIN:
         printf("\tMax Access: %d - ESS_ACCESS_ADMIN\n", groupInfo.MaxAccess);
         break;
      case ESS_ACCESS_APPALL:
         printf("\tMax Access: %d - ESS_ACCESS_APPALL\n", groupInfo.MaxAccess);
         break;
      case ESS_ACCESS_DBALL:
         printf("\tMax Access: %d - ESS_ACCESS_DBALL\n", groupInfo.MaxAccess);
         break;
      case ESS_ACCESS_APPCREATE:
         printf("\tMax Access: %d - ESS_ACCESS_DBALL\n", groupInfo.MaxAccess);
         break;
      case ESS_ACCESS_APPMANAGE:
         printf("\tMax Access: %d - ESS_ACCESS_APPMANAGE\n", groupInfo.MaxAccess);
         break;
      case ESS_ACCESS_DBCREATE:
         printf("\tMax Access: %d - ESS_ACCESS_DBCREATE\n", groupInfo.MaxAccess);
         break;
      case ESS_ACCESS_DBMANAGE:
         printf("\tMax Access: %d - ESS_ACCESS_DBMANAGE\n", groupInfo.MaxAccess);
         break;
      case ESS_ACCESS_CALC:
         printf("\tMax Access: %d - ESS_ACCESS_CALC\n", groupInfo.MaxAccess);
         break;
      case ESS_ACCESS_WRITE:
         printf("\tMax Access: %d - ESS_ACCESS_WRITE\n", groupInfo.MaxAccess);
         break;
      case ESS_ACCESS_READ:
         printf("\tMax Access: %d - ESS_ACCESS_READ\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_USERCREATE:
         printf("\tMax Access: %d - ESS_PRIV_USERCREATE\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_APPCREATE:
         printf("\tMax Access: %d - ESS_PRIV_APPCREATE\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_APPMANAGE:
         printf("\tMax Access: %d - ESS_PRIV_APPMANAGE\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_APPLOAD:
         printf("\tMax Access: %d - ESS_PRIV_APPLOAD\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_DBCREATE:
         printf("\tMax Access: %d - ESS_PRIV_DBCREATE\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_DBMANAGE:
         printf("\tMax Access: %d - ESS_PRIV_DBMANAGE\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_DBLOAD:
         printf("\tMax Access: %d - ESS_PRIV_DBLOAD\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_CALC:
         printf("\tMax Access: %d - ESS_ACCESS_DBALL\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_WRITE:
         printf("\tMax Access: %d - ESS_PRIV_WRITE\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_READ:
         printf("\tMax Access: %d - ESS_PRIV_READ\n", groupInfo.MaxAccess);
         break;
      case ESS_PRIV_NONE:
         printf("\tMax Access: %d - ESS_PRIV_NONE\n", groupInfo.MaxAccess);
         break;
      default:
         printf("\tMax Access: Unknown\n");
   }

   printf("\tPassword Expiration in Dates: %d\n",groupInfo.Expiration);
   printf("\tFailed Login Attempts Since Then: %d\n", groupInfo.FailCount);
   printf("\tLogin ID: %d\n", groupInfo.LoginId);
   printf("\tProtocol: %s\n", groupInfo.protocol);
   printf("\tConnection Parameter: %s\n", groupInfo.connparam);
   printf( "\n");
   
}

ESS_FUNC_M ESS_ListGroupsInfoEx (ESS_HCTX_T hCtx, ESS_HINST_T hInst)              
{

   ESS_STS_T sts  = ESS_STS_NOERR;
   ESS_USHORT_T count, i;
   ESS_PGROUPINFOID_T pGroupList = ESS_NULL;

   sts = EssListGroupsInfoEx(hCtx, AppName, DbName, &count, &pGroupList);
   printf("EssListGroupsInfoEx sts: %ld\n", sts);
   if(!sts)
   {
      printf("\nNumber of group(s): %d\n", count);
      for(i = 0; i < count; i++)
      {
         DisplayGroupsInfoEx(pGroupList[i]);
      }
   }
   
  return (sts);
}
      

関連トピック