Share via


O método GetInfo

O método IADs::GetInfo carrega todos os valores de atributo para um objeto ADSI no cache local do serviço de diretório subjacente. O método IADs::GetInfoEx é usado para carregar valores de atributo específicos no cache local. Para obter mais informações sobre como usar o método IADs::GetInfoEx, consulte Otimização usando GetInfoEx.

O ADSI fará uma chamada implícita de IADs::GetInfo quando o método IADs::Get ou IADs::GetEx for chamado para um atributo específico e nenhum valor for encontrado no cache local. Quando IADs::GetInfo foi chamado, uma chamada implícita não é repetida. No entanto, se já existir um valor no cache de propriedades, chamar o método IADs::Get ou IADs::GetEx sem primeiro chamar IADs::GetInfo recuperará o valor armazenado em cache em vez do valor mais atual do diretório subjacente. Isso pode fazer com que os valores de atributo atualizados sejam substituídos se o cache local tiver sido modificado, mas os valores não tiverem sido confirmados no serviço de diretório subjacente com uma chamada para o método IADs::SetInfo . Para evitar problemas de cache, confirme as alterações de valor de atributo chamando IADs::SetInfo antes de chamar 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")

Alguns serviços de diretório não retornam todos os valores de atributo para um objeto em resposta a uma chamada IADs::GetInfo . Nesses casos, use o método IADs::GetInfoEx para carregar esses valores no cache local.