EssListRequestsEx

アクティブなセッションおよび要求に関する情報を戻します。EssListRequestsに似ていますが、ユーザー・ディレクトリにホストされているユーザーが含まれます。

構文

            ESS_FUNC_M EssListRequestsEx (
            hCtx
            , 
            UserId
            , 
            bIsIdentity
            , 
            AppName
            , 
            DbName
            , 
            RequestCount
            , 
            pRequestInfo
            );
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

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

UserId

ESS_STR_T

ユーザー名またはID (入力)。IDの場合は、ユーザー・ディレクトリのユーザーを識別する一意のID文字列が含まれます。

bIsIdentity

ESS_BOOL_T

ユーザーIDが使用されるか、ユーザー名が使用されるかを示します。TRUEの場合、UserIdは一意のID属性です。FALSEの場合、UserIdはユーザー名です。

AppName

ESS_STR_T

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

DbName

ESS_STR_T

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

RequestCount

ESS_PUSHORT_T

要求の数(出力)。

pRequestInfo

ESS_PREQUESTINFOEX_T

要求のタイプ(出力)。

備考

戻り値

正常終了の場合は0が戻され、失敗した場合はエラー・コードが戻されます。

アクセス

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

         
void ListRequestsEx ()
{
	ESS_STS_T sts = ESS_STS_NOERR;
	ESS_STR_T userId;
	ESS_BOOL_T bIsIdentity;
	ESS_USHORT_T numRequest; 
	ESS_PREQUESTINFOEX_T requestInfo;
	ESS_USHORT_T index = 0; 
   
	userId = "admin";
	bIsIdentity = ESS_FALSE;
	sts = EssListRequestsEx(hCtx, userId, bIsIdentity, "Sample", "Sample1", &numRequest, &requestInfo); 
	printf("\nEssListRequestsEx sts: %ld\n", sts);
	printf ( "Total requests on the server: %d\n", numRequest ); 
	if ( !sts && requestInfo )
	{
		while ( index < numRequest )
		{
			printf ( "login ID = %ul\n", requestInfo[index].LoginId ); 
			printf ( "user name = %s\n", requestInfo[index].UserName );
			printf ( "login machine = %s\n", requestInfo[index].LoginSourceMachine ); 
			printf ( "AppName = %s\n", requestInfo[index].AppName ); 
			printf ( "DbName = %s\n", requestInfo[index].DbName ); 
			printf ( "DbRequestCode = %u\n", requestInfo[index].DbRequestCode ); 
			printf ( "RequestString = %s\n", requestInfo[index].RequestString ); 
			printf ( "TimeStarted = %ul\n", requestInfo[index].TimeStarted ); 
			printf ( "State = %d\n", requestInfo[index].State ); 
			printf ( "\n\n--------------------------------------\n\n", requestInfo[index].State ); 

			sts = EssKillRequestEx (hCtx, &requestInfo[index] );

			index++; 
		}

		EssFree ( hInst, requestInfo );
	}

	userId = " native://nvid=f0ed2a6d7fb07688:5a342200:1265973105c:-7f46?USER ";
	bIsIdentity = ESS_TRUE;
	sts = EssListRequestsEx(hCtx, userId, bIsIdentity, "Sample", "Sample1", &numRequest, &requestInfo); 
	printf("\nEssListRequestsEx sts: %ld\n", sts);
	printf ( "Total requests on the server: %d\n", numRequest ); 
	if ( !sts && requestInfo )
	{
		while ( index < numRequest )
		{
			printf ( "login ID = %ul\n", requestInfo[index].LoginId ); 
			printf ( "user name = %s\n", requestInfo[index].UserName );
			printf ( "login machine = %s\n", requestInfo[index].LoginSourceMachine ); 
			printf ( "AppName = %s\n", requestInfo[index].AppName ); 
			printf ( "DbName = %s\n", requestInfo[index].DbName ); 
			printf ( "DbRequestCode = %u\n", requestInfo[index].DbRequestCode ); 
			printf ( "RequestString = %s\n", requestInfo[index].RequestString ); 
			printf ( "TimeStarted = %ul\n", requestInfo[index].TimeStarted ); 
			printf ( "State = %d\n", requestInfo[index].State ); 
			printf ( "\n\n--------------------------------------\n\n", requestInfo[index].State ); 

			sts = EssKillRequestEx (hCtx, &requestInfo[index] );

			index++; 
		}

		EssFree ( hInst, requestInfo );
	}
}
      

関連トピック

  • EssKillRequestEx