フィルタのコンテンツの取得を開始します。
構文
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);
}
関連トピック