ADSI를 사용하여 데이터 액세스 및 조작

모든 개체에는 속성이 있습니다. 모든 ADSI(Active Directory Service Interface) COM 개체에는 COM 개체가 나타내는 디렉터리 개체의 속성을 검색하는 메서드가 있는 하나 이상의 인터페이스가 있습니다. 개체에서 속성을 읽을 수 있는 방법에는 여러 가지가 있습니다.

  • 이름으로 특정 속성 가져오기: IADs 인터페이스에는 특정 속성을 읽는 두 가지 메서드 IAD::GetIADs::GetEx 가 있습니다. 모든 ADSI COM 개체에는 IAD 인터페이스가 있습니다 .
  • 지정된 속성 목록 가져오기: IDirectoryObject 인터페이스에는 읽을 속성 이름이 포함된 목록을 지정할 수 있는 IDirectoryObject::GetObjectAttributes 메서드가 있으며 요청된 속성 값이 포함된 구조체 배열을 반환합니다.
  • 개체의 모든 속성 열거: IADsPropertyList 인터페이스를 사용하면 개체의 모든 속성을 열거할 수 있습니다.
  • 특수 속성 가져오기: 자동화 인터페이스(IAD*)에는 개체에 저장되지 않은 특수 속성을 가져올 수 있는 속성 메서드가 있습니다. 또는 속성 메서드를 사용하면 저장된 실제 데이터 형식과 다른 데이터 형식의 개체 속성을 가져올 수 있습니다. 예를 들어 IADs 인터페이스에는 개체의 RDN(상대 고유 이름)을 검색하는 IADs::get_Name 같은 속성 메서드가 있습니다. 개체의 클래스를 검색하는 IADs::get_Class 및 개체의 부모에 대한 ADsPath를 검색하는 IADs::get_Parent.

ADSI를 사용하면 디렉터리 서버에서 읽은 후 속성을 로컬로 캐시할 수 있습니다. 이렇게 하면 로컬 속성 캐시에서 속성을 읽거나 디렉터리 서버에서 직접 속성을 검색할 수 있습니다. ADSI에는 캐시를 업데이트하는 메서드뿐만 아니라 개체의 모든 속성이 캐시되는지 또는 지정한 속성만 캐시되는지 여부를 지정하는 메서드도 있습니다.

속성을 검색한 후 해당 값을 읽습니다. 속성의 데이터 형식은 Active Directory 스키마의 속성 정의(특성이라고도 함)에 따라 달라집니다. Active Directory에 있을 수 있는 속성의 각 형식에 대해 Active Directory 스키 마에 attributeSchema 개체가 있습니다. attributeSchema 개체는 특성의 특성을 정의합니다. 이러한 특성 중 하나는 특성 값의 데이터 형식을 결정하는 특성 구문입니다. 자세한 내용은 특성 특성 및Active Directory 특성 구문을 참조하세요.

Automation 인터페이스(IADs*)는 속성을 나타내는 COM 개체의 Automation 인터페이스에 대한 포인터 또는 VARIANT 로 속성 값을 반환합니다. IDirectoryObjectIDirectorySearch 인터페이스는 형식화된 속성 값 또는 바이트 문자열에 대한 포인터가 포함된 구조체에 대한 포인터로 속성을 반환합니다. 또한 IDirectoryObjectIDirectorySearch 는 로컬 속성 캐시를 사용하는 대신 디렉터리 서버에서 직접 속성을 검색합니다.

이 섹션에서는 다음 topics 설명합니다.