Sm_AgentApi_GetConfig()
エージェントの設定情報を取得します。
casso1283
エージェントの設定情報を取得します。
この関数では、v5.0 以上のエージェント API バージョンが必要です。
この関数は、設定ファイルまたは Microsoft Windows プラットフォームの Windows レジストリから設定情報を読み取ることができます。
構文
int SM_EXTERN Sm_AgentApi_GetConfig (Sm_AgentApi_Init_t* pInit,const char* lpszAgentName,const char* lpszPath);
パラメータ | I/O | 説明 |
pInit | O | Sm_AgentApi_Init_t 構造体へのポインタ。Sm_AgentApi_GetConfig() は、エージェント設定情報を取得し、それぞれの設定を pInit のフィールドにコピーます。Sm_AgentApi_Init_t に配置されたサーバ構造体の配列を解放するには、Sm_AgentApi_FreeServers() をコールします。 |
lpszAgentName | I | ターゲット エージェントの名前です。関数 Sm_AgentApi_GetConfig() は、 lpszAgentName で指定されたエージェント名の agentname リストを検索します。lpszAgentName が空の場合、Sm_AgentApi_GetConfig() はデフォルトのエージェント名を検索します。中央ホスト設定によって設定された v5.x または v6.x カスタム エージェントの場合、このパラメータは無視されます。 |
lpszPath | I | エージェント設定情報が含まれる設定ファイルの完全パスおよび名前。IIS 上の 4QMRx Web エージェントの場合のみ、このパラメータを空の文字列("")として設定してください。 lpszPath が空の文字列である場合、Sm_AgentApi_GetConfig() は、エージェントが WIN32 プラットフォーム向けに記述されているかどうかを確認します。そうである場合、関数は、Windows レジストリで設定情報を検索します。そうでない場合、関数は、SM_AGENTAPI_FAILURE を返します。 |
戻り値
- SM_AGENTAPI_SUCCESS。設定の取得は成功しました。
- SM_AGENTAPI_FAILURE。設定の取得は失敗しました。
- SM_AGENTAPI_FAILURE は、以下の条件のいずれかの場合に返されます。
- エージェント名がlpszAgentNameで指定されておらず、さらに Sm_AgentApi_GetConfig() がデフォルト エージェント名を取得できない。
- エージェント名がlpszAgentNameで指定されているが、Sm_AgentApi_GetConfig() がそのエージェント名を検索できない。
- Sm_AgentApi_GetConfig() が少なくとも 1 つのSiteMinderポリシー サーバ設定を検索できない。
- lpszPathでパスが指定されておらず、さらに以下のいずれかが発生する。
- プラットフォームが WIN32 ではないため、取得するレジストリ設定が存在しない。
- Sm_AgentApi_GetConfig() が必要な設定の 1 つをレジストリから取得できない。たとえば、共有秘密キーを保持するレジストリ キーを開くことができない。
- lpszPathで指定されたパスは存在するが、lpszPathで名前を指定された設定ファイルを Sm_AgentApi_GetConfig() が開いて読み取ることができない。
注釈
この関数は、中央ホスト設定によって設定されているカスタム エージェントによってコールされる必要があります。
v5.x 以降のエージェントの接続の場合
- 関数のlpszPathパラメータは、トラステッド ホストがポリシー サーバに登録されたときに作成された SmHost.conf ファイル、または SmHost.conf を参照する WebAgent.conf ファイルを参照します。
- lpszAgentName パラメータは無視されます。
4.x のエージェントの接続の場合
- エージェント名はlpszAgentNameパラメータで指定されます。
- v4.x の WebAgent.conf ファイルはlpszPathで参照されます。
Sm_AgentApi_GetConfig() は、
lpszPath
の値を確認して、設定ファイルのパスおよび名前を検索します。- lpszPathが空で、エージェントが Microsoft Windows プラットフォーム向けに記述されている場合、Sm_AgentApi_GetConfig() は Windows レジストリで設定情報を検索します。
- lpszPathが空で、エージェントが UNIX システム上で実行されている場合、Sm_AgentApi_GetConfig() は SM_AGENTAPI_FAILURE を返します。
Sm_AgentApi_GetConfig() は、エージェント名を検索できない場合、デフォルトのエージェント名を使用します。デフォルト エージェント名を取得できない場合、関数は SM_AGENTAPI_FAILURE を返します。
Sm_AgentApi_GetConfig() では、正しいエージェントの設定情報が検索できると、その情報を初期化構造体(Sm_AgentApi_Init_t)のフィールドにコピーします。パラメータ
pInit
は、この初期化構造体を指します。たとえば、エージェント名パラメータに Agent1 という文字列が含まれ、設定ファイルの agentname リストが以下のように設定されているとします。agentname="Agent1,123.112.12.12"
この場合、Sm_AgentApi_GetConfig() は、初期化構造体
pInit
の lpszHostName
フィールドを Agent1 に設定します。IP アドレスは無視されます。その後、Sm_AgentApi_GetConfig() は、初期化構造体の他のフィールドの情報を取得します。