다음을 통해 공유


IAD 인터페이스 사용

ADSI 디렉터리 서비스의 각 요소는 표준 COM IUnknown 인터페이스와 IDispatchIADs 인터페이스를 지원하는 COM(Component Object Model) 개체인 ADSI 개체로 표시됩니다. IAD는 ADSI 개체에 대한 기본 유지 관리 기능을 제공합니다.

각 ADSI 개체는 다음과 같은 역할을 하는 이 인터페이스를 지원해야 합니다.

  • 이름, 클래스 또는 ADsPath로 개체 식별을 제공합니다.
  • 개체 만들기 및 삭제를 관리하는 개체 컨테이너를 식별합니다.
  • 개체 스키마 정의를 가져옵니다.
  • 개체 특성을 속성 캐시에 로드하고 영구 디렉터리 저장소에 변경 내용을 커밋합니다.
  • 속성 캐시의 개체 특성 값에 액세스하고 수정합니다.

IADs 인터페이스는 ADSI 개체가 네트워크 관리자 및 디렉터리 서비스 공급자에게 다양한 기본 디렉터리 서비스의 효율적이고 일관된 표현을 제공하도록 설계되었습니다.

iads 인터페이스를 지원하는 adsi 개체

앞의 그림에서는 기본 인터페이스 IAD, IADsPropertyList, IUnknown, IDirectoryObjectIDispatch를 지원하는 일반 ADSI 개체를 보여 줍니다. 이와 같은 ADSI 개체는 지원하는 인터페이스를 통해 기본 디렉터리 서비스의 데이터 저장소에서 데이터를 관리합니다. 이 데이터를 개체의 속성이라고 하며 이러한 속성을 가져오고 설정하는 루틴을 속성 메서드라고 합니다. 읽기 전용 속성에는 속성 값을 가져오는 속성 메서드가 하나 있습니다. 읽기/쓰기 속성에는 두 가지 메서드가 있습니다. 값을 설정하는 메서드와 값을 가져오는 메서드입니다. 속성은 속성 캐시를 사용하여 각 ADSI 개체에 구현됩니다. IADs::get_ADsPathIADs::p ut_ADsPath 는 속성 메서드의 예입니다. 속성 메서드는 속성에 대한 직접 참조를 사용하도록 설정하는 Visual Basic 및 기타 Automation 클라이언트에 표시되지 않습니다. 예를 들어 Visual Basic은 Object.ADsPath 구문을 사용하여 직접 IADs::ADsPath를 참조합니다. 자세한 내용은 Interface 속성 메서드를 참조하세요.

또한 ADSI 개체는 메서드를 통해 다른 ADSI 개체와 직접 네임스페이스와 상호 작용합니다. 메서드는 즉시 실행됩니다. 메서드의 예로 는 IADs::SetInfoIADs::GetInfo가 있습니다.

속성, 속성 메서드 및 메서드는 모두 표준 COM 인터페이스를 통해 액세스됩니다.

ADSI 개체는 ADsPath로 고유하게 식별됩니다. 예를 들어 LDAP 네임스페이스에 대한 ADsPath는 "LDAP://MyServer/DC=Fabrikam,DC=COM"입니다. ADsPaths에 대한 자세한 내용은 ADSI 바인딩을 참조하세요. COM 모니커에 익숙한 프로그래머의 경우 개념적으로 COM 모니커 표시 이름과 비슷합니다.

ADSI 컨테이너 개체라고 하는 다른 ADSI 개체를 포함하는 ADSI 개체는 개체에 포함된 ADSI 개체의 생성, 삭제 및 열거를 관리하는 메서드와 속성을 제공하는 IADsContainer 인터페이스도 지원합니다. 다음 그림은 ADSI 컨테이너 개체를 보여줍니다.

adsi 컨테이너 개체

대부분의 ADSI 개체는 다른 개체에 포함되어 있습니다. 부모 컨테이너가 없는 유일한 ADSI 개체는 최상위 ADSI 네임스페이스 개체("ADS:")입니다.

컨테이너 개체의 IADs::SetInfo 메서드는 IADsContainer::Create 메서드를 사용하여 만든 개체 외에도 ADSI 컨테이너 개체의 캐시된 속성을 스토리지에 영구적으로 저장합니다. IADsContainer::D 삭제는 속성 캐시에 영향을 주지 않지만 이 개체가 나타내는 기본 네임스페이스 디렉터리 요소를 삭제합니다.