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