InfoDirectory使用手引書 |
目次 索引 |
第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) | > 5.1 クライアントAPIライブラリの機能 | > 5.1.2 LDAP操作の流れ |
InfoDirectoryサーバに対してエントリの検索を要求すると、検索でヒットしたエントリの情報が通知されます。エントリを検索する場合、以下の関数を使用します。
エントリを検索する場合、以下のパラメタを指定することができます。
サーチベースとなるエントリのDNを指定します。
検索する範囲として、以下のいずれかを指定します。
検索条件の式を指定します。
クライアントに通知する属性の種類を指定します。複数の属性が指定された場合、指定された属性の属性値が通知されます。
これらのパラメタの中で、検索フィルタと属性名リストは省略することができます。検索フィルタと属性名リストを省略した場合、通知される情報は以下のようになります。
検索対象のエントリの中で、利用可能なエントリが、すべて通知されます。
検索でヒットしたエントリの利用可能な属性が、すべて通知されます。
また、以下に示すセションハンドルオプションのパラメタの設定により、検索処理の環境を指定することができます。
属性値の比較を行うことにより、属性値の読込みを行わずに値を判定することができます。属性値を比較する場合、以下の関数を使用します。
属性値を比較する場合、クライアントは、以下のパラメタを指定します。
比較対象となるエントリのDNを指定します。
比較対象となる属性の名前を指定します。
比較する値を指定します。文字列データまたはバイナリデータを指定することができます。
ldap_compare() または、ldap_compare_s() を使用します。
ldap_compare_ext() または、ldap_compare_ext_s() を使用します。
InfoDirectoryサーバは、指定されたエントリの属性値が、クライアントが指定した値と一致しているかどうかを通知します。
エントリの変更では、指定された属性を追加/削除/置換することができます。この時、指定されなかった属性は変化しません。
エントリを変更する場合には、以下の関数を使用します。
エントリを変更する場合、クライアントは、パラメタとして以下のものを指定します。
変更するエントリのDNを指定します。
操作する属性ごとに、以下のパラメタを指定します。
操作する属性の名前を指定します。
属性値の追加、属性値の削除、属性値の置換のいずれかを指定します。
文字列データまたはバイナリデータを指定します。
属性の値を指定します。
InfoDirectoryサーバは、指定された変更操作の種類にしたがって以下の処理を行います。
エントリに、指定された属性と属性値を追加します。既存の属性を指定した場合、指定された属性に属性値を追加します。
指定された属性から、クライアントが指定した属性値を削除します。この時、エントリの属性値の数が1個の場合には、属性を削除します。
また、属性名のみを指定し、属性値を省略した場合には、指定された属性を削除します。
指定された属性の値を、クライアントが指定した値と置換えます。
DNまたはRDNを変更する場合は、以下の関数を使用します。
各関数の仕様については、エントリ名の変更を参照してください。エントリのDNまたはRDNを変更する場合、クライアントは、パラメタとして以下のものを指定します。
名前を変更するエントリのDNを指定します。
指定されたエントリの新しいRDNを指定します。
元のRDNに該当する属性値を、エントリから削除するか否かを指定します。
新しい名前のエントリを、どのエントリ配下に配置するか指定します。LDAP V2プロトコルを使用する場合、このパラメタは指定できません。
エントリを追加する場合は、以下の関数を使用します。
ディレクトリツリー上にエントリを追加する場合、クライアントは、パラメタとして以下のものを指定します。
作成するDNを指定します。
作成するエントリの属性名と属性値の集合を指定します。ここで指定する各属性には、それぞれ以下のものを指定します。
属性の名前を指定します。
文字列データまたはバイナリデータを指定します。
この属性に設定する属性値を指定します。属性値は、複数指定することができます。
エントリを削除する場合、以下の関数を使用します。
エントリの削除では、クライアントはパラメタとして、エントリのDNを指定します。
非同期型の関数を使用してInfoDirectoryサーバに要求を送信した場合、以下の関数を使用することにより、要求を取消すことができます。
非同期要求を取消す場合には、取消したい非同期要求のメッセージIDを指定します。メッセージIDは、非同期要求を発行する際に通知されます。
ldap_abandon()、またはldap_abandon_ext()を発行した時点で、取消したい非同期要求のresult情報をすでに受信していた場合は、そのresult情報は破棄されます。
目次 索引 |