Interstage Application Server Smart Repository運用ガイド |
目次
索引
![]() ![]() |
第6章 アプリケーションの作成(C API) | > 6.2 関数インタフェース | > 6.2.6 エントリの検索 |
この関数は、時間制限なしで同期型のエントリ検索処理を行います。
【指定形式】
int ldap_search_s( LDAP *ld, char *base, int scope, char *filter, char attrs[], int attrsonly, LDAPMessage **res ); |
【パラメタの説明】
ldap_init()またはldapssl_init()で通知された、セションハンドルを指定します。
サーチベースのDNのアドレスを指定します。サーチベースとは、検索開始位置のエントリです。
以下のどれか一つの値を指定します。
検索フィルタのアドレスを指定します。
例
(cn=User1) (o=Fujitsu*) (&(objectClass=person)(|(uid=0001)(cn=User*))) |
通知してほしい属性名のアドレスを設定した、ポインタ配列のアドレスを指定します。リポジトリサーバは、ポインタ配列で指定された属性だけをクライアントに通知します。以下の例では、“objectClass”と“commonName”だけが通知されます。
例
char *attrs[3] = { "objectClass", "commonName", NULL }; |
このパラメタにNULLを指定すると、検索でヒットしたエントリの利用可能な属性がすべて通知されます。また、ポインタ配列の最後には、NULLを設定しておく必要があります。
以下のどちらかの値を指定します。
result情報のアドレスを格納するための、“LDAPMessage *”型のポインタ変数のアドレスを指定します。このポインタ変数は、関数を呼び出す前に初期値としてNULLを設定しておく必要があります。
【復帰値】
この関数では、復帰値としてLDAPエラーコードを返します。
サーバから通知されたresult情報がある場合には、resパラメタで指定されたポインタ変数にresult情報のアドレスが設定されています。
【注意事項】
検索フィルタの文法については、“検索フィルタ”を参照してください。
検索がどのように行われるかは、以下に示すセションハンドルオプションによって制御されます。
セションハンドルオプションについては、“セションハンドルオプションの設定/参照”を参照してください。
LDAPエラーコードの値については、“LDAPエラーコード”を参照してください。
通知された検索結果の解析は、構文解析関数を使用して行います。詳細は、“検索結果の解析処理”を参照してください。
resパラメタで通知されたresult情報と検索結果は、不要になった時点でldap_msgfree()を使用して解放しなければなりません。詳細は、“動的メモリの解放”を参照してください。
ldapssl_init()で獲得したセションハンドルを使用している場合、SSLライブラリで発生したエラーをldapssl_error()で参照することができます。
目次
索引
![]() ![]() |