GetEx 메서드
일부 특성은 하나 이상의 값을 저장할 수 있습니다. 예를 들어 Active Directory에서 사용자 개체의 otherTelephone 특성은 0, 1 또는 많은 값을 가질 수 있는 속성입니다. 여러 값이 있는 특성을 "다중 값 특성"으로 알려져 있습니다. IADs::Get 메서드를 사용하여 다중값 특성을 검색하는 경우 특성에 단일 값이 있는 경우와 결과가 다르게 처리되어야 합니다. 그러나 IADs::GetEx 메서드에서 제공하는 결과는 특성에 단일 값 또는 여러 값이 있는지 여부에 관계없이 동일한 방식으로 처리됩니다. 두 경우 모두 IADs::GetEx 메서드는 배열의 값을 반환합니다.
IADs::GetEx 메서드는 속성 캐시에서 속성을 검색합니다. 캐시에 지정된 속성을 찾을 수 없는 경우 IADs::GetEx 는 암시적 IADs::GetInfo 호출을 수행합니다.
IADs::GetEx 메서드는 서버에서 반환되는 값 수에 관계없이 변형의 변형 배열을 반환합니다. 특성에 값이 하나만 포함되어 있는 경우에도 마찬가지입니다.
Dim usr As IADs
On Error GoTo Cleanup
Set usr = GetObject("LDAP://CN=Jeff Smith,CN=Users,DC=fabrikam,DC=com")
homePhones = usr.GetEx("otherHomePhone")
For each phone in homePhones
Debug.Print phone
Next
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set usr = Nothing
IADs::GetEx 메서드는 단일 값 특성에도 사용할 수 있습니다. 단일 값 특성의 결과는 다중값 특성의 결과와 동일하게 처리됩니다.
Dim usr as IADs
On Error GoTo Cleanup
Set usr = GetObject("LDAP://CN=Jeff Smith,CN=Users,DC=fabrikam,DC=com")
sds = usr.GetEx("ntSecurityDescriptor")
For each sd in sds
Set acl = sd.DiscretionaryACL
Next
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set usr = Nothing
특성에 대해 값이 설정되지 않은 경우 IADs::GetEx 는 "속성이 캐시에서 찾을 수 없음" 오류를 반환합니다.