EssGetFilter

フィルタのコンテンツの取得を開始します。

構文

            ESS_FUNC_M EssGetFilter (
            hCtx, AppName, DbName, FilterName, pActive, pAccess
            );
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

APIコンテキスト・ハンドル。

AppName

ESS_STR_T

アプリケーション名。

DbName

ESS_STR_T

データベース名。

FilterName

ESS_STR_T

フィルタ名。

pActive

ESS_PBOOL_T

フィルタのアクティブ・フラグを受け取る変数のアドレス。TRUEの場合、フィルタは指定されたデータベースに対して現在有効です。

pAccess

ESS_PACCESS_T

デフォルトのフィルタ・アクセス・レベルを受け取る変数のアドレス。可能な値については、ビットマスク・データ型(C)に関する説明を参照してください。

備考

この呼出しの後にEssGetFilterRowを続けて呼び出して、フィルタの行をフェッチする必要があります。

戻り値

正常終了の場合、フィルタのアクティブ・フラグがpActiveに、そしてデフォルトのフィルタ・アクセス・レベルがpAccessに戻されます。

アクセス

この関数を使用するには、呼出し元が、指定したデータベースに対してデータベース・デザイナ権限(ESS_PRIV_DBDESIGN)を持っている必要があります。

         ESS_FUNC_M 
ESS_GetFilter (ESS_HCTX_T  hCtx, ESS_HINST_T hInst)
{
   ESS_FUNC_M       sts = ESS_STS_NOERR;
   ESS_STR_T       AppName;   
   ESS_STR_T       DbName;
   ESS_STR_T       FilterName;
   ESS_BOOL_T      Active;
   ESS_ACCESS_T    Access;
   ESS_STR_T       RowString = NULL;
   ESS_STR_T       Acc_Str;

   AppName    = "Sample";
   DbName     = "Basic";
   FilterName = "Test";
   
   /**************
    * Get Filter *
    **************/
   sts = EssGetFilter(hCtx, AppName, DbName,
         FilterName, &Active, &Access);
   /*******************
    * Get Filter Rows *
    *******************/
   if(!sts)
   {            
      sts = EssGetFilterRow(hCtx, &RowString,
            &Access);
      if(!sts && RowString)
      { 
         printf("%s Filter Rows\r\n",FilterName);
         while(RowString)
         {  
            switch (Access)
            {
               case ESS_ACCESS_NONE:
                  Acc_Str = "NONE";
                  break;
               case ESS_ACCESS_READ:
                  Acc_Str = "READ";
                  break;
               default:
                  Acc_Str = "WRITE";
                  break;
             }
                 
            printf("%s - %s\r\n",Acc_Str,RowString); 
            sts = EssGetFilterRow(hCtx, &RowString, 
                  &Access);
         } 
         EssFree(hInst, RowString);
      }  
   }     
   return (sts);        
}
      

関連トピック