Реализация интерфейса
Для реализации интерфейса нужно создать проект как COM-приложение ATL или как приложение MFC с поддержкой ATL. Вы можете использовать Мастер проектов ATL, чтобы создать приложение ATL, или добавить объект ATL в свое приложение MFC, чтобы реализовать поддержку ATL для приложения MFC.
Создав проект для реализации интерфейса, нужно сначала добавить объект ATL. См. раздел Добавление объектов и элементов управления в проект ATL, где перечислены мастеры, добавляющие объекты в проект ATL.
Примечание.
Мастер не поддерживает диалоговые окна ATL, XML-веб-службы с использованием ATL, объекты производительности и счетчики производительности.
Если вы добавляете элемент управления ATL, можно указать, следует ли реализовать интерфейсы по умолчанию. Интерфейсы по умолчанию перечислены на странице Интерфейсы этого мастера и определены в файле atlcom.h.
После добавления объекта или элемента управления можно реализовать другие интерфейсы, расположенные в любой доступной библиотеке типов, с помощью мастера реализации интерфейса.
При добавлении нового интерфейса нужно добавить его вручную в IDL-файл проекта. Дополнительные сведения см. в разделе Добавление нового интерфейса в проект ATL.
Реализация интерфейса
В представлении классов щелкните правой кнопкой мыши имя класса для объекта ATL.
Выберите пункт Добавить в контекстном меню и нажмите Реализовать интерфейс, чтобы отобразить Мастер реализации интерфейса.
Выберите реализуемые интерфейсы в соответствующих библиотеках типов и нажмите кнопку Готово.
В представлении класса разверните узел объекта "Базы и интерфейсы", чтобы просмотреть реализованный интерфейс. Затем разверните узел этого интерфейса, чтобы просмотреть его доступные свойства, методы и события.
Примечание.
Вы также можете использовать обозреватель объектов для просмотра членов интерфейса.
В этом разделе
Мастер реализации интерфейсов
Этот мастер реализует интерфейс для COM-объекта. Реализации многих интерфейсов включены в библиотеки COM, доступные в Visual Studio и Windows. Реализация интерфейса связывается с объектом при создании экземпляра этого объекта. Интерфейс также предоставляет те же службы, что и объект.
Сведения об интерфейсах и реализациях см. в разделе Интерфейсы и их реализации для Windows SDK.
Реализовать интерфейс из
Указывает расположение библиотеки типов, из которой создается интерфейс.
Вариант Описание Проект Библиотека типов является частью проекта. Реестр Библиотека типов зарегистрирована в системе. Зарегистрированные библиотеки типов перечислены в разделе Доступные библиотеки типов. Файл Библиотека типов не обязательно зарегистрирована в системе, но она сохраняется в файле. Нужно указать расположение файла в поле Расположение. Доступные библиотеки типов
Отображает доступные библиотеки типов, содержащие определения интерфейсов, которые можно реализовать. Если выбрать элемент Файл в области Реализовать интерфейс из, это поле будет недоступно для изменения.
Местонахождение
Отображает расположение библиотеки типов, выбранной в списке Доступные библиотеки типов. Если вы выбрали элемент Файл в области Реализовать интерфейс из, нажмите кнопку с многоточием, чтобы найти файл, содержащий нужную библиотеку типов.
Интерфейсы
Отображает интерфейсы, определения которых находятся в библиотеке типов, выбранной в поле Доступные библиотеки типов.
Примечание.
Интерфейсы с тем же именем, что и уже реализованные выбранным объектом, не отображаются в поле Интерфейсы.
Кнопка "Перенести" Description > Добавляет в список Реализовать интерфейсы имя интерфейса, выбранного в списке Интерфейсы. >> Добавляет в список Реализовать интерфейсы имена всех интерфейсов, доступных в списке Интерфейсы. < Удаляет имя интерфейса, выбранного в списке Реализовать интерфейсы. << Удаляет имена всех интерфейсов, указанных в списке Реализовать интерфейсы. Реализовать интерфейсы
Отображает имена интерфейсов, выбранных для реализации в объекте.
Примечание.
Если вы включаете больше одного интерфейса, производного от
IDispatch
, или пытаетесь реализовать интерфейс, производный от другого интерфейса, который уже входит в ваш класс, нужно устранить неоднозначность записей COM_MAP. Дополнительные сведения см. в разделе COM_INTERFACE_ENTRY2.