Sm_AgentApi_Init()
エージェント API を初期化し、ポリシー サーバへの接続をセットアップします。この関数は、エージェントごとに 1 回コールされます。
casso127jpjp
エージェント API を初期化し、ポリシー サーバへの接続をセットアップします。この関数は、エージェントごとに 1 回コールされます。
注:
ポリシー サーバへの接続が即座に確立できなくても、このコールは成功します。エージェント API は、引き続き再接続を試行します。詳細については、「注釈」を参照してください。構文
int SM_EXTERN Sm_AgentApi_Init (const Sm_AgentApi_Init_t* pInitStruct,void** ppHandle);
パラメータ | I/O | 説明 |
pInitStruct
| I | サーバに関する情報へのポインタ。 |
ppHandle
| O | この API セッションに対して返されたハンドルを保持するポインタのアドレス。これは、opaque 型です。 |
戻り値
- SM_AGENTAPI_SUCCESS。初期化は成功しました。
- SM_AGENTAPI_FAILURE。初期化は失敗しました。
注釈
すべてのエージェントは、スタートアップ時に 1 度 DoManagement() コールを発行し、SM_AGENTAPI_MANAGEMENT_SET_AGENT_INFO コマンドを指定する必要があります。
この関数は、ポリシー サーバへの接続が確立されたが、共有秘密キーやエージェント名が正しくないときに限りに失敗するように設計されています。他のすべての状況において、この関数は SM_AGENTAPI_SUCCESS を返します。たとえば、以下のような状況も含まれます。
- 初期化動作中に、間違ったポリシー サーバ IP アドレスやポート番号が提供されている。
- 正しいポリシー サーバ IP アドレスおよびポート番号が提供されているが、ポリシー サーバがダウンしている。
これらの場合、エージェント API は、成功のステータスを返し、ポリシー サーバへの接続を確立するための試行を続行します(接続レイヤでは、提供された情報が正しいか正しくないかは認識されません)。Sm_AgentApi_Init() 関数が成功しても、ポリシー サーバへの接続が確立されたと断定できません。
カスタム エージェントのメモリは手動で解放する必要があります。Sm_AgentApi_Init() を使用してエージェント API を初期化すると、Sm_AgentApi_Init_t 構造体内のすべての情報がコピーされ、初期化後に構造体のメモリの解放が可能になります。
例
サンプル アプリケーション smagentexample.cpp の SmAgentExample::Sm_Init() 関数を参照してください。