EssListLocksEx

ある特定のアプリケーションとデータベースに接続しているすべてのユーザーを、それらのユーザーが現在ロックしているデータ・ブロックのカウントとともにリストします。EssListLocksに似ていますが、ユーザー・ディレクトリにホストされているユーザーが含まれます。

構文

            ESS_FUNC_M EssListLocksEx (
            hCtx
            , 
            AppName
            , 
            DbName
            , 
            pCount
            , 
            ppLockList
            );
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

APIコンテキスト・ハンドル(入力)。

AppName

ESS_STR_T

アプリケーション名(入力)。

DbName

ESS_STR_T

データベース名(入力)。

pCount

ESS_PUSHORT_T

ユーザー・カウントを受け取る変数のアドレス(出力)。

ppLockList

ESS_PPLOCKINFOEX_T

割り当てられたユーザー・ロック情報構造体の配列を受け取るポインタのアドレス(出力)。情報構造体には、ユーザー・ディレクトリおよび一意のID属性を含められます。

備考

戻り値

正常終了の場合は、接続しているユーザー数のカウントがpCountに、ユーザー・ロック構造体のリストがppLockListに戻されます。

アクセス

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

         
void DisplayLock(ESS_LOCKINFOEX_T lockinfo)
{
   ESS_STS_T sts = ESS_STS_NOERR;

   printf("\tUser Name: %s\n", lockinfo.UserName);
   printf("\tProvider Name: %s\n", lockinfo.ProviderName);
   printf("\tConnection Parameter: %s\n", lockinfo.connparam);
   printf("\tNumber of Locks: %d\n", lockinfo.nLocks);
   printf("\tTime: %ld\n", lockinfo.Time);
   printf("\tLoginId: %ld\n", lockinfo.LoginId);
   printf("\n");
}


ESS_FUNC_M ESS_ListLocksEx (ESS_HCTX_T hCtx, ESS_HINST_T  hInst)

{
   ESS_STS_T sts;
   ESS_USHORT_T count, i;
   ESS_PLOCKINFOEX_T plockinfo = NULL;
   ESS_ACCESS_T Access;


   sts = EssSetActive(hCtx, AppName, DbName, &Access);
   printf("EssSetActive sts: %ld\n",sts);

   sts = EssListLocksEx (hCtx, AppName, DbName, &count, &plockinfo);
   printf("EssListLocksEx sts: %ld\n", sts);
   if(!sts)
   {
      printf("\nNumber of lock info returned: %d\n", count);
      for(i = 0; i < count; i++)
      {
         DisplayLock(plockinfo[i]);
      }
   }
   return (sts);
}
      

関連トピック