如何使用C ++ win32 API在Active Directory中设置和获取多个值(数组值)为Single属性?

时间:2012-11-06 14:38:02

标签: c++ windows winapi ldap adsi

我正在使用C ++ Win32 API。

我已经完成了使用ldap函数连接AD&创建一个属性。

我完成了设置&从AD获取属性的单个值。

现在,我想在myown属性中设置多个值。属性名称为 " UsrAttrib"

如何将value数组设置为此属性?

我已经尝试过" objectClass"属性值,使用下面的代码。

usrValue = ldap_get_values(
                          pLdapConnection,  // Session Handle
                          pEntry,           // Current entry
                          "ObjectClass");

属性实际值为top;person;organizationalPerson;user

usrValue仅提供top

我使用ldap_count_values进行检查,结果为4

如何从该属性中获取所有值?

1 个答案:

答案 0 :(得分:1)

要获取特定属性的所有值,请在搜索属性的结果上使用ldap_count_valuesldap_get_values。请参阅Searching a Directory示例。

要为特定属性设置多个值,您可以在mod_values结构的ldapmod成员中列出所有值,也可以创建多个LDAP_MOD_ADD结构。