Sm_AgentApi_Logout()

ユーザ セッションからユーザをログアウトし、イベントを発行します。データベースは更新されません。
casso1283
ユーザ セッションからユーザをログアウトし、イベントを発行します。データベースは更新されません。
ユーザがログアウトしたら、セッション仕様を破棄することにより明示的にセッションを終了する必要があります。
この関数ではメモリは解放されません。カスタム エージェントに割り当てたすべてのメモリを手動で解放する必要があります。
構文
int SM_EXTERN Sm_AgentApi_Logout (
   const void*                   pHandle,
   const char*                   lpszClientIpAddr,
   const Sm_AgentApi_Session_t*  pSession
);
パラメータ
I/O
説明
pHandle
I
Sm_AgentApi_Init() の
pHandle
パラメータで返されるエージェント API セッション ハンドル。
lpszClientIpAddr
I
ユーザがログアウトするクライアントの IP アドレス。これはオプションのパラメータです。クライアント IP がアスタリスク(*)で始まる場合、ポリシー サーバはこの IP アドレスをログ記録しますが、セッション仕様に照らした検証は行いません。
pSession
I
ユーザのセッションのセッション定義構造体(Sm_AgentApi_Session_t)。
nreason
フィールドは、ポリシー サーバによって発行されたイベントに渡されます。Sm_Api_Reason_t を参照してください。
戻り値
  • SM_AGENTAPI_YES。ユーザは正常にログアウトしました。
  • SM_AGENTAPI_NO。ユーザはログアウトされませんでした。
  • SM_AGENTAPI_NOCONNECTION。初期化できませんでした。
  • SM_AGENTAPI_FAILURE。サーバにアクセスできませんでした。
  • SM_AGENTAPI_TIMEOUT。関数がタイム アウトしました。
注釈
ユーザがログアウトしたときにユーザのセッションを終了するには、セッション仕様を破棄する必要があります。その操作は、Sm_AgentApi_Session_t 構造体内のセッション仕様を再初期化することにより行えます。以下のコードを参照してください。
iResult = Sm_AgentApi_Logout (
                pHandle,
                SMAPI_SAMPLE_AGENTIP,
                &pSession);
if (SM_AGENTAPI_YES==iResult)
      memset(&pSession,0,sizeof(Sm_AgentApi_Session_t));