GetInfo 메서드
IADs::GetInfo 메서드는 ADSI 개체에 대한 모든 특성 값을 기본 디렉터리 서비스에서 로컬 캐시로 로드합니다. IADs::GetInfoEx 메서드는 특정 특성 값을 로컬 캐시에 로드하는 데 사용됩니다. IADs::GetInfoEx 메서드 사용에 대한 자세한 내용은 GetInfoEx를 사용하여 최적화를 참조하세요.
ADSI는 특정 특성에 대해 IADs::Get 또는 IADs:: GetEx 메서드가 호출되고 로컬 캐시에 값이 없을 때 암시적 IADs::GetInfo 호출을 수행합니다. IADs::GetInfo가 호출되면 암시적 호출이 반복되지 않습니다. 그러나 속성 캐시에 값이 이미 있는 경우 먼저 IADs:: GetInfo를 호출하지 않고 IADs::Get 또는 IADs::GetEx 메서드를 호출하면 기본 디렉터리에서 가장 최신 값이 아닌 캐시된 값이 검색됩니다. 이로 인해 로컬 캐시가 수정되었지만 값이 IADs::SetInfo 메서드를 호출하여 기본 디렉터리 서비스에 커밋되지 않은 경우 업데이트된 특성 값을 덮어쓸 수 있습니다. 캐싱 문제를 방지하려면 IAD::GetInfo를 호출하기 전에 IADs::SetInfo 를 호출하여 특성 값 변경을 커밋 합니다.
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")
일부 디렉터리 서비스는 IAD::GetInfo 호출에 대한 응답으로 개체에 대한 모든 특성 값을 반환하지 않습니다. 이러한 경우 IADs::GetInfoEx 메서드를 사용하여 이러한 값을 로컬 캐시에 로드합니다.