InfoDirectory使用手引書 |
目次 索引 |
第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) | > 5.2 関数インタフェース | > 5.2.20 LDAPコントロール作成処理 |
この関数は、サーバソートを行うためのLDAPControl構造体の作成および初期設定を行います。【指定形式】
int ldap_create_sort_control(
LDAP *ld,
char **sortarry,
const char sortseq,
const char ctl_iscritical,
LDAPControl ***ctrlp
);【パラメタの説明】
- ld
ldap_init()またはldapssl_init()で通知された、セションハンドルを指定します。
- sortarry
ソートするキーを指定します。ソートするキーとなる属性名のアドレスを設定したポインタ配列のアドレスを設定します。
例
char *sortattay[3] = {
"cn",
"sn",
0
};- sortseq
ソートする順番を指定します。InfoDirectoryでは昇順のみのサポートです。
- 昇順 : 0
- 降順 : 1 (0以外)
- ctl_iscritical
InfoDirectoryサーバがサーバソート機能をサポートしないで、かつ、このパラメタに1が設定されている場合、LDAP_UNAVAILABLE_CRITICAL_EXTENSION(0x0c)エラーを返します。0に設定されている場合、この要求は無視されます。
- ctrlp
この関数内で確保されるLDAPControl構造体のアドレスを確保するためのポインタを指定します。このポインタで指す領域は、NULLで初期化されている必要があります。サーバソートとページングを同時に指定するために、すでにldap_create_paging_control()が呼ばれている場合は、そのアドレスをそのまま渡してください。
【復帰値】
この関数は、復帰値として以下に示す値を返します。
- 正常完了 : LDAP_SUCCESS
- 異常完了 : LDAP_SUCCESS以外のLDAPエラーコード
エラー復帰時に、すでにldap_create_paging_control()が呼ばれている場合、その関数で取得されたLDAPControl構造体にある情報は解放されません。不要な場合、ldap_controls_free()で解放してください。
【注意事項】
- 動的メモリの解放
ldap_create_sort_control()で通知された領域は、不要になった時点でldap_controls_free()を使用して解放しなければなりません。
詳細は、動的メモリの解放を参照してください。
- LDAPエラーコード
LDAPエラーコードの値については、LDAPエラーコードを参照してください。
目次 索引 |