InfoDirectory使用手引書 |
目次 索引 |
第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) | > 5.2 関数インタフェース | > 5.2.20 LDAPコントロール作成処理 |
この関数は、InfoDirectoryサーバから通知されるLDAPControl構造体の解析(ページング情報を含む)を行い、次のページングを行うためのLDAPControl構造体の更新を行います。【指定形式】
int ldap_create_more_paging_control(
LDAP *ld,
int pagesize,
const char ctl_iscritical,
LDAPControl **resctrlp
LDAPControl ***reqctrlp
);【パラメタの説明】
- ld
ldap_init()またはldapssl_init()で通知された、セションハンドルを指定します。
- pagesize
ページングのサイズを指定します。単位はエントリ数です。現在ページング処理中のページングのサイズ変更はサポートしていません。指定された値は無視されます。
- ctl_iscritical
InfoDirectoryサーバがページング機能をサポートしないで、かつ、このパラメタに1が設定されている場合、LDAP_UNAVAILABLE_CRITICAL_EXTENSION(0x0c)エラーを返します。0に設定されている場合、この要求は無視されます。
- resctrlp
ldap_parse_result()で獲得したInfoDirectoryサーバから通知されたLDAPControl構造体(ページング情報を含む)のアドレスのポインタを指定します。
- reqctrlp
ldap_create_paging_control()で確保されたLDAPControl構造体のアドレスを保持するポインタを指定してください。
【復帰値】
この関数は、復帰値として以下に示す値を返します。
- 正常完了(ページングの残りがない場合) : LDAP_NO_RESULTS_RETURNED
- 正常完了(ページングの残りがある場合) : LDAP_MORE_RESULTS_TO_RETURNED
- 異常完了 : 上記以外のLDAPエラーコード
エラー復帰時には、ldap_create_paging_control()で取得されたLDAPControl構造体にある情報は解放されません。不要な場合、ldap_controls_free()で解放してください。
【注意事項】
- 動的メモリの解放
ldap_create_more_paging_control()で通知された領域は、不要になった時点でldap_controls_free()を使用して解放しなければなりません。また、InfoDirectoryサーバから通知されたLDAPControl構造体の領域は、解放されません。同様に不要になった時点で、ldap_controls_free()で解放してください。
詳細は、動的メモリの解放を参照してください。
- LDAPエラーコード
LDAPエラーコードの値については、LDAPエラーコードを参照してください。
目次 索引 |