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


Библиотека шаблонов C++ среды выполнения Windows (WRL)

Библиотека шаблонов C++ среды выполнения Windows (WRL) библиотеку шаблонов, низкоуровневый предоставляет способ создания и использовать компоненты Среда выполнения Windows.

Преимущества

WRL позволяет более легко реализовать и использовать компоненты (COM) модели COM.Его методы, как ошибка понижение уровня обслуживания для управления временем существования объектов и проверки значений HRESULT, чтобы определить, обеспечивает ли сбой операции преуспетая или.Для успешного использования WRL, необходимо тщательно следующие правила и методы.

Расширения компонентов Visual C++ (C++/CX) высокого уровня, и на способ использовать компоненты Среда выполнения Windows.WRL и C++/CX упрощают создание кода для Среда выполнения Windows автоматически выполнять задачи обслуживания от целей.

WRL и C++/CX предоставляют различные преимущества.Ниже приведены некоторые причины может потребоваться использование WRL вместо C++/CX:

  • WRL добавит нижняя абстракция через интерфейс приложений интерфейсом приложений двоичным (ABI) Среда выполнения Windows, предоставляя возможность к элементу управления базовый код, создания или использования API Среда выполнения Windows.

  • C++/CX представляет значения HRESULT модели COM в виде исключений.Если наследовали базу кода, использующего модель COM, или один, которое не использует исключения, можно обнаружить, что WRL более естественный способ работы с Среда выполнения Windows, так как нет необходимости использовать исключения.

    ПримечаниеПримечание

    WRL использует значения HRESULT и не вызывает исключения.Кроме того, в WRL используется интеллектуального указателя и шаблона RAII, позволяющие гарантировать, что объекты удаляется, когда код приложения вызывает исключение.Дополнительные сведения о интеллектуального указателя и RAII см. в разделах Интеллектуальные указатели (самомоднейшее C++) и Собственные ресурсы объектов (RAII).

  • Назначение и разработка WRL model библиотеку шаблонных классов ATL (ATL), набор классов C, C-++ команды, которые упрощают программирование com-объекта.Поскольку WRL использует стандартное C C-++ для создания Среда выполнения Windows можно проще порт и взаимодействовать с много существующих компонентов модели COM, написанных на языке ATL в Среда выполнения Windows.Если известно ATL, можно обнаружить, что программирование WRL проще.

Начало работы

Ниже приведены некоторые ресурсы, помогающие получить работы с WRL напрямую.

в WRL сравнило ATL

WRL напоминает библиотеку шаблонных классов ATL (ATL), поскольку его можно использовать для создания небольшие, быстрые com-объекта.WRL и ATL также используют понятия, например определение объектов в модуле, какая регистрации интерфейсов и открыть создание объектов с помощью фабрик.Может возникнуть удобны с WRL, если вы знакомы с использованием библиотеки ATL.

WRL поддерживает функцию модели COM, необходимой для приложений Магазина Windows.Следовательно, она отличается от ATL, поскольку она не непосредственную поддержку функций модели COM, например:

  • статистическая обработка

  • реализации биржевой

  • сдвоенные интерфейсы (IDispatch)

  • стандартные интерфейсы перечислителя

  • точки подключения

  • перемещаемые интерфейсы

  • Внедрения OLE

  • Элементы управления ActiveX

  • COM+

Основные понятия

WRL предоставляет типы, представляющие несколько основных понятий.В следующих разделах эти типы.

Hh438466.collapse_all(ru-ru,VS.110).gifComPtr

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

Hh438466.collapse_all(ru-ru,VS.110).gifRuntimeClass

RuntimeClass представляет собой экземпляр класса, который наследуется от набор определенных интерфейсов.Объект RuntimeClass может обеспечить поддержку сочетания из для одного или нескольких интерфейсов модели COM Среда выполнения Windows или слабую ссылку на компонент.

Hh438466.collapse_all(ru-ru,VS.110).gifМодуль

Модуль представляет коллекцию связанных объектов.Объект Module управляет фабрики класса, которые создают объекты и регистрация, которая включает другие приложения использовать объект.

Hh438466.collapse_all(ru-ru,VS.110).gifОбратный вызов

Функция Обратный вызов создает объект функцию-член которого обработчик событий (метод обратного вызова).Используйте функцию Callback для записи асинхронных операций.

Hh438466.collapse_all(ru-ru,VS.110).gifEventSource

EventSource используется для управления обработчики событий делегата.Используйте WRL для реализации делегат и используйте EventSource, чтобы добавлять, удалять и вызывайте делегатов.

Hh438466.collapse_all(ru-ru,VS.110).gifAsyncBase

AsyncBase предоставляет виртуальные методы, которые представляют асинхронную модель программирования Среда выполнения Windows.Переопределите элементы в этом классе для создания пользовательского класса, который можно запускать, останавливать, или проверять ход выполнения асинхронной операции.

Hh438466.collapse_all(ru-ru,VS.110).gifFtmBase

FtmBase представляет объект упаковщика свободных потоков.FtmBase создает глобальную таблицу (GIT) интерфейса и помогает управлять маршалинг и использования объектов.

Hh438466.collapse_all(ru-ru,VS.110).gifWeakRef

WeakRef тип интеллектуального указателя, представляющий гибкую ссылку, которая ссылается на объект, который может или не может быть недоступен.Объект WeakRef может использоваться только Среда выполнения Windows и не классическим модели COM.

Объект WeakRef обычно представляет объект наличие которого управляет внешним потоком или приложением.Например, объект WeakRef может ссылаться на объект файла.Если файл открыт, WeakRef допустимо и указанный файл доступен.Но если файл закрыт, WeakRef является недопустимым и файл недоступен.

Связанные разделы

Шаблон проекта библиотеки классов WRL

Описание способов доступа к шаблон проекта Библиотеки классов WRL.Этот шаблон позволяет упростить задачу использования Visual Studio для создания компонентов Среда выполнения Windows.

Основные API WRL по категориям

Описываются основные типы, функции и макросы WRL.

Справочник по WRL

Содержит справочные сведения по WRL.

Эта ссылка (среда выполнения Windows и C Visual C-++)

Краткое описание функций C++/CX для поддержки Среда выполнения Windows.

Использование компонента среды выполнения C Windows в Visual C-++

Использование C++/CX для создания базового компонент Среда выполнения Windows.