Поделиться через


Параметры, мастер простых объектов ATL

Эта страница мастера простых объектов ATL предназначена для повышения эффективности и поддержки ошибок для объекта.

Дополнительные сведения о проектах ATL и COM-классах библиотеки ATL см. в разделе COM-компоненты ATL для настольных приложений.

  • Модель потоков

    Указывает метод для управления потоками. По умолчанию проект использует потоки Квартиры .

    Подробные сведения см. в статье Specifying the Threading Model for a Project (ATL) (Указание потоковой модели для проекта (ATL)).

    Вариант Описание
    Один Указывает, что объект всегда выполняется в основном потоке COM. Дополнительные сведения см . в разделе "Квартиры с одним потоком" и InprocServer32 .
    Подразделение Указывает, что объект использует потоки квартир. Эквивалентно одной квартире потока. Каждому объекту многопотокового компонента назначается квартира для его потока, для жизни объекта; однако для нескольких объектов можно использовать несколько потоков. Каждая квартира привязана к определенному потоку и имеет насос сообщений Windows (по умолчанию).

    Дополнительные сведения см . в разделе "Однопоточные квартиры ".
    Оба Указывает, что объект может использовать как квартиру, так и свободный поток в зависимости от типа создаваемого потока.
    Бесплатно Указывает, что объект использует свободный поток. Бесплатная потоковая работа эквивалентна многопоточной модели квартиры. Дополнительные сведения см . в многопоточных квартирах .
    Neutral Указывает, что объект следует рекомендациям для многопоточных квартир, но он может выполняться в любом виде потока.
  • Агрегат

    Указывает, используется ли объект агрегирование. Агрегатный объект выбирает интерфейсы для предоставления клиентам, а интерфейсы предоставляются так же, как если бы агрегатный объект реализовал их. Клиенты агрегатного объекта взаимодействуют только с агрегатным объектом.

    Вариант Описание
    Да Указывает, что объект можно агрегировать. По умолчанию.
    Нет Указывает, что объект не агрегирован.
    Только Указывает, что объект должен быть агрегирован.
  • Интерфейс

    Указывает тип интерфейса, который поддерживается объектом. По умолчанию объект поддерживает двойной интерфейс.

    Вариант Описание
    Двойной Указывает, что объект поддерживает двойной интерфейс (его vtable имеет пользовательские функции интерфейса, а также методы с поздними привязками IDispatch ). Позволяет клиентам COM и контроллерам автоматизации получать доступ к объекту. По умолчанию.
    Пользовательское Указывает, что объект поддерживает настраиваемый интерфейс (его виртуальная таблица содержит настраиваемые функции интерфейса). Настраиваемый интерфейс может работать быстрее двойного, особенно в случае межпроцессного взаимодействия.

    - Совместимость с автоматизацией позволяет контроллерам службы автоматизации получать доступ к объекту с поддержкой пользовательского интерфейса.
  • Поддержка

    Указывает дополнительную поддержку объекта.

    Вариант Описание
    ISupportErrorInfo Создает поддержку для интерфейса ISupportErrorInfo, который позволяет объекту возвращать в клиент сведения об ошибке.
    Точки подключения Включает точки подключения для объекта, делая класс объекта производным от IConnectionPointContainerImpl.
    Маршалер с бесплатным потоком Создает объект маршалера с бесплатным потоком для эффективного маршалинга указателей интерфейса между потоками в одном процессе. Доступно для объекта, указывающего как модель потоков.
    IObjectWithSite (поддержка объектов IE) Реализует IObjectWithSiteImpl, который предоставляет простой способ поддержки обмена данными между объектом и его сайтом в контейнере.

См. также

Мастер простых объектов ATL
Простой объект ATL
Проблемы с потоковой обработкой сервера