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