サーバーまたはローカル・クライアント上にある、指定したタイプのオブジェクトをリストします。
構文
ESS_FUNC_M EssListObjects (
hCtx, ObjType, AppName, DbName, pCount, ppObjList
);
パラメータ | データ型 | 説明 |
---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。EssCreateLocalContextによって戻されたローカル・コンテキスト・ハンドルの場合もあります。 |
ObjType |
ESS_OBJTYPE_T |
オブジェクト・タイプ(ビットOR ( | )で結合した複数のタイプ可)。使用可能な値のリストは、ビットマスク・データ型(C)を参照してください。 |
AppName |
ESS_STR_T |
アプリケーション名。 |
DbName |
ESS_STR_T |
データベース名。NULLの場合は、アプリケーション・サブディレクトリ内のオブジェクトがリストされます。 |
pCount |
ESS_PUSHORT_T |
適切なタイプのオブジェクトのカウントを受け取る変数のアドレス。 |
ppObjList |
ESS_OBJINFO_T |
割り当てられたオブジェクト情報構造体の配列を受け取るポインタのアドレス。 |
備考
ppObjListに対して割り当てられたメモリーは、EssFreeを使用して解放する必要があります。
この関数では、戻されるオブジェクトの一貫性のある順序はオペレーティング・システムによって異なるため保証されません。
戻り値
正常終了の場合は、適切なタイプのオブジェクト数のカウントがpCountに、一致するオブジェクト構造体の配列がppObjListに戻されます。
アクセス
この関数を使用するのに、特別な権限は必要ありません。ただし、呼出し元がアプリケーションまたはデータベース(あるいはその両方)に対して(オブジェクト・タイプに応じて)適切なレベルのアクセス権限を持っている場合、サーバー・オブジェクトのみがリストされるので注意してください。
例
ESS_FUNC_M ESS_ListObjects (ESS_HCTX_T hCtx, ESS_HINST_T hInst ) { ESS_FUNC_M sts = ESS_STS_NOERR; ESS_POBJINFO_T pObject, pNextObject = NULL; ESS_SHORT_T objType = 0; ESS_USHORT_T objCnt; ESS_USHORT_T objInd; ESS_STR_T AppName; ESS_STR_T DbName; Appname = "Sample"; DbName = "Basic"; objType = ESS_OBJTYPE_OUTLINE; sts = EssListObjects (hCtx, objType, AppName, DbName, &objCnt, &pObject); if (!sts) { if (objCnt && pObject) { pNextObject = pObject; for (objInd = 0; objInd < objCnt; objInd++) { if (pNextObject) { printf ("Name: %s \r\nUser: %s\r\nTime Stamp: %ld\r\n", pNextObject->Name, pNextObject->User, pNextObject->TimeStamp); pNextObject = pNextObject + 1; } } EssFree (hInst, pObject); } else printf ("\r\nObject List is Empty\r\n\r\n"); } return(sts); }
関連トピック