바인딩에 대한 인터페이스 선택
디렉터리 개체가 바인딩되면 호출자는 원하는 ADSI 인터페이스 유형을 지정합니다. 모든 ADSI 디렉터리 개체는 IADs 인터페이스를 지원합니다 . ADSI 개체는 다른 인터페이스도 지원할 수 있습니다. 개체에서 지원하는 실제 인터페이스는 개체의 클래스에 따라 달라집니다. 예를 들어 사용자 개체는 IADsUser 인터페이스를 지원하지만 IADsComputer 인터페이스는 지원하지 않습니다.
이러한 인터페이스는 더 높은 수준의 추상화 및 VARIANT 데이터 형식을 사용하여 데이터를 제공하는 이중 인터페이스이므로 자동화 클라이언트는 IAD* 인터페이스를 사용해야 합니다.
IAD* 인터페이스 외에도 C/C++ 클라이언트는 IDirectoryObject 및 IDirectorySearch 인터페이스를 사용할 수 있습니다. 이러한 인터페이스는 이중 인터페이스가 아니며 자동화를 지원하지 않습니다. 이러한 인터페이스는 속성에 저장된 원시 데이터에 대한 액세스를 검색하고 허용할 특성을 정확히 제어할 수 있도록 합니다. 예를 들어 IADs::Get 메서드를 사용하여 개체에 대한 ntSecurityDescriptor 특성을 검색하는 경우 IADs::Get 메서드는 IADsSecurityDescriptor 인터페이스를 지원하는 IDispatch 인터페이스 포인터를 제공합니다. IADsSecurityDescriptor 인터페이스는 보안 설명자를 나타내기 위해 ADSI에서 제공됩니다. 이에 비해 IDirectoryObject::GetObjectAttributes 메서드를 사용하여 ntSecurityDescriptor 특성을 검색하는 경우 IDirectoryObject::GetObjectAttributes 는 SECURITY_DESCRIPTOR 구조체로 캐스팅할 수 있는 바이트 배열을 제공합니다. Win32 보안 API를 이 데이터와 함께 사용하여 보안 설명자를 조작할 수 있습니다.