Freigeben über


Die GetInfo-Methode

Die IADs::GetInfo-Methode lädt alle Attributwerte für ein ADSI-Objekt aus dem zugrunde liegenden Verzeichnisdienst in den lokalen Cache. Die IADs::GetInfoEx-Methode wird verwendet, um bestimmte Attributwerte in den lokalen Cache zu laden. Weitere Informationen zur Verwendung der IADs::GetInfoEx-Methode finden Sie unter Optimierung mithilfe von GetInfoEx.

ADSI führt einen impliziten IADs::GetInfo-Aufruf aus, wenn die IADs::Get-Methode oder die IADs::GetEx-Methode für ein bestimmtes Attribut aufgerufen wird und kein Wert im lokalen Cache gefunden wird. Wenn IADs::GetInfo aufgerufen wurde, wird ein impliziter Aufruf nicht wiederholt. Wenn jedoch bereits ein Wert im Eigenschaftencache vorhanden ist, ruft der Aufruf der IADs::GetEx-Methode oder der IADs::GetEx-Methode, ohne zuerst IADs::GetInfo aufzurufen, den zwischengespeicherten Wert anstelle des aktuellen Werts aus dem zugrunde liegenden Verzeichnis ab. Dies kann dazu führen, dass aktualisierte Attributwerte überschrieben werden, wenn der lokale Cache geändert wurde, die Werte jedoch nicht mit einem Aufruf der IADs::SetInfo-Methode an den zugrunde liegenden Verzeichnisdienst gebunden wurden. Um Zwischenspeicherungsprobleme zu vermeiden, committen Sie Attributwertänderungen, indem Sie IADs::SetInfo aufrufen, bevor Sie IADs::GetInfo aufrufen.

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")

Einige Verzeichnisdienste geben nicht alle Attributwerte für ein Objekt als Reaktion auf einen IADs::GetInfo-Aufruf zurück. Verwenden Sie in diesen Fällen die IADs::GetInfoEx-Methode , um diese Werte in den lokalen Cache zu laden.