Partager via


Méthode GetInfo

La méthode IADs::GetInfo charge toutes les valeurs d’attribut d’un objet ADSI dans le cache local à partir du service d’annuaire sous-jacent. La méthode IADs::GetInfoEx est utilisée pour charger des valeurs d’attribut spécifiques dans le cache local. Pour plus d’informations sur l’utilisation de la méthode IADs::GetInfoEx , consultez Optimisation à l’aide de GetInfoEx.

ADSI effectue un appel IADs::GetInfo implicite lorsque la méthode IADs::Get ou IADs::GetEx est appelée pour un attribut spécifique et qu’aucune valeur n’est trouvée dans le cache local. Lorsque IADs::GetInfo a été appelé, un appel implicite n’est pas répété. Si une valeur existe déjà dans le cache de propriétés, toutefois, l’appel de la méthode IADs::Get ou IADs::GetEx sans appeler d’abord IADs::GetInfo récupère la valeur mise en cache plutôt que la valeur la plus actuelle du répertoire sous-jacent. Cela peut entraîner le remplacement des valeurs d’attribut mises à jour si le cache local a été modifié, mais que les valeurs n’ont pas été validées sur le service d’annuaire sous-jacent avec un appel à la méthode IADs::SetInfo . Pour éviter les problèmes de mise en cache, validez les modifications de valeur d’attribut en appelant IADs::SetInfo avant d’appeler IADs::GetInfo.

Dim usr As IADs

' Bind to a specific user object.
Set usr = GetObject("LDAP://CN=Jeff Smith,CN=Users,DC=fabrikam,DC=com")
 
' This code example assumes that the property description has a single value in the directory.
' Be aware that this will IMPLICITLY call GetInfo because at this point GetInfo
' has not yet been called (implicitly or explicitly) on the usr object.
Debug.Print "User's title is " + usr.Get("title")

' Change the attribute value in the local cache.
usr.Put "title", "Vice President"
Debug.Print "User's title is " + usr.Get("title")

' Call GetInfo, which will overwrite the updated value because SetInfo has not 
' been called.
usr.GetInfo
Debug.Print "User's title is " + usr.Get("title")

Certains services d’annuaire ne retournent pas toutes les valeurs d’attribut d’un objet en réponse à un appel IADs::GetInfo . Dans ce cas, utilisez la méthode IADs::GetInfoEx pour charger ces valeurs dans le cache local.