Создание и удаление объектов

С помощью ADSI объекты создаются и удаляются с помощью интерфейса IADsContainer или IDirectoryObject.

Создание объекта с помощью IADsContainer

Создание объекта с помощью интерфейса IADsContainer

  1. Привязывайтесь к контейнеру, который будет содержать созданный объект и получите интерфейс IADsContainer.
  2. Используйте метод IADsContainer.Create для создания объекта в контейнере.
  3. Задайте значения для всех обязательных атрибутов объекта с помощью метода IADs.Put или IADs.PutEx. Атрибуты, необходимые для создания объекта, будут зависеть от службы каталогов и типа создаваемого объекта. Дополнительные сведения о создании объектов Active Directory см. в статье "Создание и удаление объектов Active Directory".
  4. Задайте значения для всех требуемых необязательных атрибутов для объекта с помощью метода IADs.Put или IADs.PutEx.
  5. Вызовите метод IADs.SetInfo, чтобы зафиксировать объект и его атрибуты. Новый объект не создается в базовой службе каталогов до вызова метода IADs.SetInfo для фиксации атрибутов.

Создание объекта с помощью IDirectoryObject

Создание объекта с помощью интерфейса IDirectoryObject

  1. Привязывайтесь к контейнеру, который будет содержать созданный объект, и получите интерфейс IDirectoryObject.
  2. Выделите массив ADS_ATTR_INFO структур, содержащих одну структуру для каждого атрибута, который необходимо задать при создании объекта.
  3. Заполните структуру ADS_ATTR_INFO для каждого обязательного атрибута для объекта. Атрибуты, необходимые для создания объекта, будут зависеть от службы каталогов и типа создаваемого объекта. Дополнительные сведения о создании объектов Active Directory см. в статье "Создание и удаление объектов Active Directory".
  4. Заполните структуру ADS_ATTR_INFO для каждого необязательного атрибута для объекта.
  5. Используйте метод IDirectoryObject::CreateDSObject для создания объекта в контейнере. Этот метод также фиксирует объект в базовой службе каталогов. Если массив ADS_ATTR_INFO не содержит все обязательные атрибуты для объекта, IDirectoryObject::CreateDSObject завершится ошибкой.

Удаление объекта

Чтобы удалить объект, используйте метод IADsContainer::D elete или IDirectoryObject::D eleteDSObject. Эти методы завершаются ошибкой, если удаленный объект содержит все дочерние объекты. Используйте метод IADsDeleteOps::D eleteObject для удаления контейнера и всех дочерних объектов контейнера.

Что происходит с удаленным объектом, зависит от базовой службы каталогов. Дополнительные сведения об удалении объектов Active Directory см. в статье "Создание и удаление объектов Active Directory".