IADs::GetInfoEx 메서드(iads.h)

IADs::GetInfoEx 메서드는 기본 디렉터리 저장소에서 속성 캐시로 ADSI 개체의 지정된 속성 값을 로드합니다.

구문

HRESULT GetInfoEx(
  [in] VARIANT vProperties,
  [in] long    lnReserved
);

매개 변수

[in] vProperties

Active Directory 속성 캐시에 로드할 속성을 나열하는 null로 끝나는 유니코드 문자열 항목의 배열입니다. 각 속성 이름은 이 개체의 스키마 클래스 정의에 있는 이름과 일치해야 합니다.

[in] lnReserved

다음에 사용하도록 예약됩니다. 0으로 설정해야 합니다.

반환 값

이 메서드는 표준 반환 값과 다음을 지원합니다.

자세한 내용은 ADSI 오류 코드를 참조하세요.

설명

IADs::GetInfoEx 메서드는 이전에 캐시된 지정된 속성 값을 디렉터리 저장소에 있는 값으로 덮어씁니다. 따라서 IAD::GetInfoEx를 호출하기 전에 IADs::SetInfo가 호출되지 않은 경우 캐시에 대한 변경 내용이 손실됩니다.

IADs::GetInfoEx를 사용하여 ADSI 개체의 속성 캐시에서 선택한 속성의 값을 새로 고칩니다. IADs::GetInfo를 사용하여 모든 속성 값을 새로 고칩니다.

ADSI 컨테이너 개체의 경우 IADs::GetInfoEx 는 컨테이너의 속성 값만 캐시하지만 자식 개체의 속성 값은 캐시하지 않습니다.

예제

다음 코드 예제에서는 원하는 속성 값을 디렉터리에서 찾을 수 있다고 가정하여 IADs::GetInfoEx 를 사용하여 선택한 속성의 값을 가져오는 방법을 보여 줍니다.

Dim x As IADs
On Error GoTo Cleanup

Set x = GetObject("LDAP://CN=JeffSmith,CN=Users,DC=Fabrikam,DC=com")
 
' Retrieve givenName and sn from the underlying directory storage.
' Cache should have givenName and sn values.
x.GetInfoEx Array("givenName", "sn"), 0 
Debug.Print x.Get("givenName")  ' Property is in the cache.
Debug.Print x.Get("sn")         ' Property is in the cache.
 
' If the "homePhone" property is not in the cache (in the next line), 
' GetInfo is called implicitly.
Debug.Print x.Get("homePhone")

Cleanup:
   If(Err.Number<>0) Then
      MsgBox("An error has occurred. " & Err.Number);
   End If

   Set x = Nothing

다음 코드 예제에서는 원하는 속성 값을 디렉터리에서 찾을 수 있다고 가정하여 IADs::GetInfoEx 를 사용하여 선택한 속성의 값을 가져오는 방법을 보여 줍니다. 간단히 하기 위해 오류 검사가 생략되었습니다.

IADs *pADs = NULL;
VARIANT var;
HRESULT hr = S_OK;
 
hr = ADsGetObject(L"WinNT://somecomputer,computer",
                  IID_IADs,
                  (void**)&pADs);

if(!(hr==S_OK)){return hr;} 

VariantInit(&var);
 
// Get "Owner" and "Division" attribute values.
LPWSTR pszAttrs[] = { L"Owner", L"Division" };
DWORD dwNumber = sizeof( pszAttrs ) /sizeof(LPWSTR);
hr = ADsBuildVarArrayStr( pszAttrs, dwNumber, &var );
hr = pADs->GetInfoEx(var, 0);
VariantClear(&var);
 
hr = pADs->Get(CComBSTR("Division"), &var);  
printf("    division   = %S\n", V_BSTR(&var));
VariantClear(&var);
hr = pADs->Get(CComBSTR("Owner"), &var);
printf("    owner      = %S\n", V_BSTR(&var));
VariantClear(&var);

if(pADs)
   pADs->Release();


요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 iads.h
DLL Activeds.dll

추가 정보

IAD

IADs::GetInfo

IADs::SetInfo

속성 캐시