EssLROPurgeObjects

指定したユーザー名または変更日(あるいはその両方)の、アクティブ・データベースのセルにリンクされているすべてのオブジェクトを削除します。

構文

            ESS_FUNC_M EssLROPurgeObjects (
            hCtx, userName, purgeDate, pulLROCount, pLRODescList
            );
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

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

userName

ESS_STR_T

ユーザー名を指すポインタ。指定した場合、特定のユーザーが最後に変更したすべてのオブジェクトが削除されます。

purgeDate

ESS_TIME_T

変更日。指定した場合は、特定日以前に変更されたすべてのオブジェクトのリストが戻されます。日付は1970年1月1日以降に経過した秒数をULONG値で表します。

pulLROCount

ESS_ULONG_T

削除されたLROカタログ・エントリの数。

pLRODescList

ESS_LRODESC_API_T

削除されたLROカタログ・エントリのリストへのポインタのアドレス。

備考

戻り値

正常終了の場合は、ESS_STS_NOERRが戻されます。それ以外の場合、エラー・コードが戻されます。

アクセス

この関数を呼び出すには、アクティブなデータベースに対してデザイン権限(ESS_PRIV_DBDESIGN)を持っている必要があります。

         ESS_FUNC_M ESS_LRO PurgeObjects (ESS_HCTX_T hCtx, ESS_HINST_T hInst)
{
        ESS_FUNC_M              sts = ESS_STS_NOERR;
        ESS_LRODESC_API_T       plroDescList=NULL;
        ESS_ULONG_T             ulLroCount;
        ESS_CHAR_T              userName[ESS_USERNAMELEN];
        ESS_CHAR_T              purgeDate[ESS_DATESIZE];
        ESS_CHAR_T              buf[ESS_DATESIZE];
        ESS_TIME_T              timestamp;
        struct tm               *pTmStruct, time_str;
        strcpy( userName, "user1");
        strcpy( purgeDate, "09/05/1997");
        time(&timestamp); 
        pTmStruct = localtime((ESS_PLONG_T)&timestamp);
        memset(&time_str, 0, sizeof(struct tm));
        strncpy (buf, (const char *)&purgeDate[8], 2);
        time_str.tm_year = atoi(buf);
        strncpy(buf, listDate, 2);
        time_str.tm_mon = atoi(buf)-1;
        strncpy(buf, (const char *)&purgeDate[3], 2);
        time_str.tm_mday = atoi(buf);
        time_str.tm_hour = 0;
        time_str.tm_min = 0;
        time_str.tm_sec = 1;
        time_str.tm_isdst = -1;
        if ((time_str.tm_mon != pTmStruct->tm_mon) ||
                (time_str.tm_year != pTmStruct->tm_year) ||
                (time_str.tm_mday != pTmStruct->tm_mday)) 
        {
                time_str.tm_mday++;
                timestamp = mktime(&time_str);
        }
        sts = EssLROPurgeObjects(hCtx, userName, timestamp, &ulLroCount, &plroDescList);
        if(sts)
        {
                printf("Could not purge linked objects. \n");
        }
        if (plroDescList)
                EssFree(hInst, plroDescList);   
        return sts;
}
      

関連トピック