Interstage Application Server Smart Repository運用ガイド |
目次
索引
![]() ![]() |
第6章 アプリケーションの作成(C API) | > 6.2 関数インタフェース | > 6.2.14 処理結果の受取り/判定 |
この関数は、非同期関数の処理結果や検索結果のエントリを受け取ります。
【指定形式】
int ldap_result( LDAP *ld, int msgid, int all, struct timeval *timeout, LDAPMessage **resp ); |
【パラメタの説明】
ldap_init()またはldapssl_init()で通知された、セションハンドルを指定します。
非同期関数で通知されたメッセージIDを指定します。また、受け取る処理結果を特定しない場合には、LDAP_RES_ANYを指定します。LDAP_RES_ANYを指定した場合は、最初に受信したメッセージが通知されます。
処理結果のメッセージが複数ある場合の処理として、以下のどれか一つを指定します。
受信待ち時間を設定した領域のアドレスを指定します。timeval構造体のメンバには、以下の値を設定します。
timeoutパラメタにNULLポインタを指定すると、結果を受け取るまで呼出し元に復帰しません。また、timeval構造体のtv_secパラメタおよびtv_usecパラメタに0を設定した場合は、指定されたメッセージが到着しているかどうかの判定を行い、メッセージが到着していなかった場合には、すぐにタイムアウトで復帰します。この受信待ち時間は、本ライブラリでのselectに使用される時間になります。
LDAPMessage構造体のポインタ変数のアドレスを指定します。respパラメタが示すポインタ変数は、NULLで初期化しておく必要があります。
【復帰値】
この関数は、復帰値として以下に示す値を返します。
異常完了の場合、以下の原因が考えられます。
正常完了の場合に通知されるメッセージのタイプを、以下に示します。
メッセージタイプ |
説明 |
---|---|
LDAP_RES_BIND |
ldap_simple_bind()に対するresult情報です。 |
LDAP_RES_SEARCH_RESULT |
ldap_search()またはldap_search_ext()に対するresult情報です。 |
LDAP_RES_MODIFY |
ldap_modify()またはldap_modify_ext()に対するresult情報です。 |
LDAP_RES_ADD |
ldap_add()またはldap_add_ext()に対するresult情報です。 |
LDAP_RES_DELETE |
ldap_delete()またはldap_delete_ext()に対するresult情報です。 |
LDAP_RES_MODDN |
ldap_rename()またはldap_rename_ext()に対するresult情報です。 |
LDAP_RES_COMPARE |
ldap_compare()またはldap_compare_ext()に対するresult情報です。 |
LDAP_RES_EXTENDED |
ldap_extended_operation()に対するresult情報です。 |
LDAP_RES_SEARCH_ENTRY |
検索でヒットしたエントリを表しています。 |
受信したメッセージが存在する場合は、respパラメタが示すポインタ変数に、メッセージリストの先頭アドレスが設定されます。
LDAPMessageの通知形式を以下に示します。
ldap_result()で通知されたメッセージリストは、メッセージリスト処理においてパラメタとして指定します。
【注意事項】
ldap_result()で通知されたメッセージリストは、不要になった時点でldap_msgfree()を使用して解放しなければなりません。詳細は、“動的メモリの解放”を参照してください。
取得したresult情報がどの非同期要求に対するものか判定する場合、ldap_msgid()でresult情報のメッセージIDを参照します。result情報には、対応する非同期要求のメッセージIDが付加されています。
ldapssl_init()で獲得したセションハンドルを使用している場合、SSLライブラリで発生したエラーをldapssl_error()で参照することができます。
目次
索引
![]() ![]() |