2012-11-06 2 views
0

J'utilise l'API C++ Win32.Comment définir et obtenir plusieurs valeurs (valeurs de tableau) à l'attribut unique dans Active Directory à l'aide de l'API C++ win32?

J'ai fait pour se connecter AD en utilisant les fonctions ldap & créer un attribut.

J'ai fait pour définir & obtenir des valeurs uniques aux attributs de AD.

Maintenant, je veux définir plusieurs valeurs dans l'attribut myown. Le nom de l'attribut est "UsrAttrib". Comment définir un tableau de valeur dans cet attribut?

Et j'ai déjà essayé d'obtenir la valeur d'attribut "objectClass", en utilisant le code ci-dessous.

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

la valeur réelle de l'attribut est top;person;organizationalPerson;user

Mais usrValue ne donne que top seulement. Je vérifie en utilisant ldap_count_values4.

Comment puis-je obtenir toutes les valeurs de cet attribut?

Répondre

1

Pour obtenir toutes les valeurs d'un attribut particulier, utilisez ldap_count_values et ldap_get_values sur le résultat de la recherche de l'attribut. Voir l'exemple Searching a Directory.

Pour définir plusieurs valeurs pour un attribut particulier, vous pouvez les lister toutes dans le membre mod_values de la structure ldapmod ou vous pouvez créer plusieurs structures LDAP_MOD_ADD.

+0

@ Neil: Merci pour votre réponse. Veuillez consulter ma question de mise à jour. –

+0

@SanjuMonu Que voulez-vous dire par 'usrValue' ne donne que" top "? C'est un tableau, donc 'usrValue [0]' devrait être "top", 'usrValue [1]' devrait être "person", etc. – Neil

Questions connexes