Interstage Application Server リファレンスマニュアル(API編) |
目次
索引
![]() ![]() |
第1章 C言語インタフェース | > 1.20 Smart Repositoryインタフェース | > 1.20.1 セションのオープンとクローズインタフェース |
ldap_init
#include "idldap.h" LDAP *ldap_init( const char *hostname, int portno );
この関数は、LDAPのセションをオープンします。
これ以降に呼び出す関数は、ここで取得したセションハンドルをパラメタに指定します。セションハンドルは、そのセションをクローズするまで有効です。
認証はDNとパスワードを使用して行われます。簡易認証については、“リポジトリサーバとのユーザ認証インタフェース”を参照してください。
この関数は、復帰値として以下の値を返します。
正常終了の場合、セションハンドルには獲得したセションハンドルへのポインタが通知されます。
異常終了の場合、以下の原因が考えられます。
オープンした1つのセションを複数のスレッドで共有し、各スレッドからLDAP要求を行うことはできません。スレッドを使用しLDAP要求を行う場合、各スレッドでldap_init()で獲得したセションを使用し、それぞれのスレッドからLDAP要求をしてください。
2つ以上のリポジトリに対して指定したホストの中で起動しているリポジトリに接続するような用途には使用できません。
(1つ目のホストに接続してリポジトリが起動していなければ、2つ目のホストのリポジトリに接続を試みる。)
複数のホストを指定した場合は、1つ目のホストに対してCONNECTを行いソケットレベルで接続できない場合にのみ、2つ目以降のホストに対して接続を試みます。上記のようなリポジトリ起動チェックを行う場合は、リポジトリの起動をldap_simple_bind()/ldap_simple_bind_s()で確認するように、APIを使用してアプリケーション側での対応が必要です。
目次
索引
![]() ![]() |