ldap_result()用来取得先前同步初始化的结果。
ldap_msgfree()用来释放先前调用 ldap_result()或同步查询函数取得的结果。
int ldap_result(
LDAP *ld,
int msgid,
int all,
struct timeval *timeout,
LDAPMessage **res );
int ldap_msgfree( LDAPMessage *res );
参数:
ld:连接句柄
msgid:需要返回结果的操作的消息 ID,或者如果一些结果需要
时使用 LDAP_RES_ANY 常量。
all:布尔值,代表查询结果的含义,非 0 值指明在所有查询结
果都应取得后才能返回。如为 0,查询结果(记录)将会
一次返回查到的一个。
timeout:表示等待返回结果的超时时间。NULL 值将造成
ldap_result()阻塞等待,直到结果可用。Timeout 值为0 秒表示轮询状态。
res:对于 ldap_result(),是一个包含操作结果集的结果参数。
对 于 ldap_msgfree() , 结 果 要 被 释 放 的 结 果 链 , 从 先 前 的
ldap_result(),ldap_search_s 或 ldap_search_st()调用取得。
在成功完成后,ldap_result()返回在 res 参数中返回的结果的类型,
这些类型为以下常量:
LDAP_RES_BIND,
LDAP_RES_SEARCH_ENTRY,
LDAP_RES_SEARCH_RESULT,
LDAP_RES_MODIFY,
LDAP_RES_ADD,
LDAP_RES_DELETE,
LDAP_RES_MODRDN,
LDAP_RES_COMPARE
ldap_result()在超时后返回 0,出错后返回-1。在这种情况下,ld 结 构的 ld_err 字段会相应设置ldap_msgfree()释放指向 res 的结果结构并返回释放的消息类型。