| InfoDirectory使用手引書 | 
			目次
			索引
			![]()  
		 | 
	
| 第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) | > 5.2 関数インタフェース | > 5.2.17 検索結果の解析処理 | 
この関数は、指定されたエントリに付加されているLDAPコントロールのデータを読込みます。【指定形式】
int ldap_get_entry_controls(
LDAP *ld,
LDAPMessage *entry,
LDAPControl ***serverctrlsp
);【パラメタの説明】
- ld
 ldap_init()またはldapssl_init()で通知された、セションハンドルを指定します。
- entry
 ldap_first_entry()またはldap_next_entry()によって通知された、エントリのアドレスを指定します。
- serverctrlsp
 LDAPコントロールのポインタ配列のアドレスを設定するための、ポインタ変数のアドレスを指定します。
【復帰値】
この関数は、LDAPエラーコードを復帰値として返します。
- 正常完了の場合 : LDAP_SUCCESS
 - 異常完了の場合 : LDAP_SUCCESS以外のLDAPエラーコード
 正常完了の場合には、serverctrlspパラメタで指定されたポインタ変数に、読込んだLDAPコントロールのポインタ配列のアドレスが設定されます。
【注意事項】
- 動的メモリの解放
 ldap_get_entry_controls()で通知されたLDAPコントロールのポインタ配列は、不要になった時点でldap_controls_free()を使用して解放しなければなりません。詳細は、動的メモリの解放を参照してください。
- LDAPエラーコード
 LDAPエラーコードの値については、LDAPエラーコードを参照してください。
この関数は、指定されたリフェラル情報を含むメッセージからリフェラル情報を読込みます。【指定形式】
int ldap_parse_reference(
LDAP *ld,
LDAPMessage *ref,
char ***referralsp,
LDAPControl ***serverctrlsp,
int freeit
);【パラメタの説明】
- ld
 ldap_init()またはldapssl_init()で通知された、セションハンドルを指定します。
- ref
 ldap_result()、ldap_first_reference()またはldap_next_reference()によって通知された、リフェラル情報を含むメッセージのアドレスを指定します。
- referralsp
 通知されたリフェラル情報のアドレスを設定するための、ポインタ配列のアドレスを指定します。
- serverctrlsp
 LDAPコントロールのポインタ配列のアドレスを設定するための、ポインタ変数のアドレスを指定します。
- freeit
 呼出し元に復帰する際に、refパラメタで指定されたメッセージを解放するかどうかを指定します。
- メッセージを解放する場合 : 0以外を指定
 - メッセージを解放しない場合 : 0を指定
 【復帰値】
この関数は、メッセージの情報の解析に失敗した場合に、LDAPエラーコードを復帰値として返します。このエラーコードは、サーバから通知されたLDAPエラーコードではありません。
- 正常完了の場合 : LDAP_SUCCESS
 - 異常完了の場合 : LDAP_SUCCESS以外のLDAPエラーコード
 正常完了の場合には、referralspパラメタおよびserverctrlspパラメタで指定されたポインタ変数に、以下の値が設定されます。
- referralspパラメタ
 リフェラル情報のポインタ配列のアドレスが設定されます。
- serverctrlspパラメタ
 読込んだLDAPコントロールのポインタ配列のアドレスが設定されます。
- リフェラル
 リフェラルの自動追跡時に、エラー情報およびリフェラル情報が取得される場合、取得されたリフェラル先のInfoDirectoryサーバでエラーが発生したことを示しています。リフェラル情報は、ホスト名、ポート番号および検索ベースからなるLDAP URLで通知されます。検索ベースは通知されない場合があります。
【注意事項】
- 動的メモリの解放
 ldap_parse_reference()で通知された情報は、不要になった時点で以下の関数を使用して解放しなければなりません。
- リフェラル情報のポインタ配列 : ldap_value_free()
 - LDAPコントロールのポインタ配列 : ldap_controls_free()
 詳細は、動的メモリの解放を参照してください。
- LDAPエラーコード
 LDAPエラーコードの値については、LDAPエラーコードを参照してください。
			目次
			索引
			![]()  
		 |