Interstage Application Server Smart Repository運用ガイド |
目次
索引
![]() ![]() |
第6章 アプリケーションの作成(C API) | > 6.2 関数インタフェース | > 6.2.15 エラー情報の取得 |
この関数は、受信したresult情報内の各種情報を読み込みます。この関数は、メッセージタイプがLDAP_RES_EXTENDEDのresult情報に対して使用します。
【指定形式】
int ldap_parse_extended_result( LDAP *ld, LDAPMessage *res, char **resultoidp, struct berval **resultdata, int freeit ); |
【パラメタの説明】
ldap_init()またはldapssl_init()で通知された、セションハンドルを指定します。
result情報のアドレスを指定します。
OIDの文字列を格納する、変数のアドレスを指定します。このパラメタが示す変数は、NULLで初期化しておく必要があります。
受信した付加データのアドレスを格納する、ポインタ変数のアドレスを指定します。このパラメタが示す変数は、NULLで初期化しておく必要があります。
呼出し元に復帰する際に、resパラメタで指定したresult情報を解放するかどうかを指定します。
【復帰値】
この関数は、正常完了した場合、LDAP_SUCCESSを復帰値として返します。result情報の解析に失敗した場合には、LDAPエラーコードを復帰値として返します。また、パラメタで指定した変数には、以下の情報が設定されます。
OIDの文字列のアドレスが設定されます。OIDの文字列がない場合には、NULLとなります。この領域は不要になった時点でldap_memfree()を使用し解放しなければなりません。
付加データのアドレスが設定されます。付加データがない場合には、NULLとなります。この領域は不要になった時点でber_bvfree()を使用し解放しなければなりません。
【注意事項】
ldap_parse_extended_result()を呼び出す際に、freeitパラメタに0以外の値を指定した場合、ライブラリ内部でldap_msgfree()を使用してresult情報を解放します。このため、これ以降は、result情報にアクセスできなくなります。ldap_parse_extended_result ()を呼び出す際に、freeitパラメタに0を指定した場合には、不要になった時点で、呼出し元が、ldap_msgfree()を使用してresult情報を解放しなければなりません。
LDAPエラーコードの値については、“LDAPエラーコード”を参照してください。復帰値として返されるLDAPエラーコードは、result情報の解析に失敗した場合に通知するエラー情報です。パラメタに設定されるLDAPエラーコードは、result情報に含まれるLDAPエラーコードです。
LDAPエラーコードに対応するエラーメッセージを得る場合は、ldap_err2string()を使用します。
目次
索引
![]() ![]() |