Библиотека шаблонов 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 напрямую.
Библиотеки среды выполнения Windows (WRL)
В этой видеоматериалы канала channel 9, дополнительные сведения о том, как WRL помогает записи приложения Магазина Windows и способов создания и использования компоненты Среда выполнения Windows.Практическое руководство. Активация и использование компонента среды выполнения Windows с помощью WRL
Использование WRL для инициализации Среда выполнения Windows и активировать и использовать компонент Среда выполнения Windows.Практическое руководство. Завершение асинхронных операций с использованием WRL
Использование WRL для запуска асинхронных операций и щелкните рабочий при операции завершения.Практическое руководство. Обработка событий с использованием WRL
Использование WRL для подписки на события и обработка объекта Среда выполнения Windows.Пошаговое руководство. Создание базового компонента среды выполнения Windows с использованием WRL
Использование WRL для создания базового Среда выполнения Windows компонент, который добавляет 2 числа.Также показано, как создавать события и использовать компонент из приложения Магазина Windows, использующего JavaScript.Пошаговое руководство. Создание приложения для Магазина Windows с использованием WRL и Media Foundation
Дополнительные сведения о создании приложения, использующего Microsoft Foundation MediaМагазина Windows.Практическое руководство. Создание классического компонента COM с помощью WRL
Использование WRL для создания базового компонента модели COM и простой способ регистрации и использовать компонент COM из классического приложения.Практическое руководство. Непосредственное создание экземпляра компонентов WRL
Выясните, как использовать функции Microsoft::WRL::Make и Microsoft::WRL::Details::MakeAndInitialize, чтобы создать компонент из модуля, в котором он определен.Пошаговое руководство. Подключение с использованием задач и HTTP-запроса XML (IXHR2)
Показывает, как использовать интерфейсы IXMLHTTPRequest2 и IXMLHTTPRequest2Callback вместе с задачами отправка HTTP GET и СОЗДАТЬ запросы к веб-службе в приложении Магазина Windows.Пример отключения оптимизатора карт Bing
Использует класс HttpRequest, определенный в Пошаговое руководство. Подключение с использованием задач и HTTP-запроса XML (IXHR2) в контексте полного приложения Магазина Windows.Гибридный сервер библиотеки DLL приложения теперь пример
Использование WRL для объявления и реализации интерфейсов и работы со свойствами, методами и событиями.Пример игры " лабиринт " мрамора DirectX
Использование WRL для управления временем существования компонентов модели COM, такие как DirectX и Media Foundation в контексте всего трехмерной игры.Всплывающие отправлять уведомления из примера классических приложений
Использование WRL для работы с уведомлениями всплывающими из классического приложения.
в WRL сравнило ATL
WRL напоминает библиотеку шаблонных классов ATL (ATL), поскольку его можно использовать для создания небольшие, быстрые com-объекта.WRL и ATL также используют понятия, например определение объектов в модуле, какая регистрации интерфейсов и открыть создание объектов с помощью фабрик.Может возникнуть удобны с WRL, если вы знакомы с использованием библиотеки ATL.
WRL поддерживает функцию модели COM, необходимой для приложений Магазина Windows.Следовательно, она отличается от ATL, поскольку она не непосредственную поддержку функций модели COM, например:
статистическая обработка
реализации биржевой
сдвоенные интерфейсы (IDispatch)
стандартные интерфейсы перечислителя
точки подключения
перемещаемые интерфейсы
Внедрения OLE
Элементы управления ActiveX
COM+
Основные понятия
WRL предоставляет типы, представляющие несколько основных понятий.В следующих разделах эти типы.
ComPtr
тип интеллектуального указателяComPtr, который представляет интерфейс, который задается параметром шаблона.Используйте свойство ComPtr, чтобы объявить переменную, которая получает доступ к членам объекта, который является производным от интерфейса.ComPtr автоматически поддерживает счетчик ссылок для основных указателя интерфейса и выпусков интерфейс, когда счетчик ссылок переходит к нулю.
RuntimeClass
RuntimeClass представляет собой экземпляр класса, который наследуется от набор определенных интерфейсов.Объект RuntimeClass может обеспечить поддержку сочетания из для одного или нескольких интерфейсов модели COM Среда выполнения Windows или слабую ссылку на компонент.
Модуль
Модуль представляет коллекцию связанных объектов.Объект Module управляет фабрики класса, которые создают объекты и регистрация, которая включает другие приложения использовать объект.
Обратный вызов
Функция Обратный вызов создает объект функцию-член которого обработчик событий (метод обратного вызова).Используйте функцию Callback для записи асинхронных операций.
EventSource
EventSource используется для управления обработчики событий делегата.Используйте WRL для реализации делегат и используйте EventSource, чтобы добавлять, удалять и вызывайте делегатов.
AsyncBase
AsyncBase предоставляет виртуальные методы, которые представляют асинхронную модель программирования Среда выполнения Windows.Переопределите элементы в этом классе для создания пользовательского класса, который можно запускать, останавливать, или проверять ход выполнения асинхронной операции.
FtmBase
FtmBase представляет объект упаковщика свободных потоков.FtmBase создает глобальную таблицу (GIT) интерфейса и помогает управлять маршалинг и использования объектов.
WeakRef
WeakRef тип интеллектуального указателя, представляющий гибкую ссылку, которая ссылается на объект, который может или не может быть недоступен.Объект WeakRef может использоваться только Среда выполнения Windows и не классическим модели COM.
Объект WeakRef обычно представляет объект наличие которого управляет внешним потоком или приложением.Например, объект WeakRef может ссылаться на объект файла.Если файл открыт, WeakRef допустимо и указанный файл доступен.Но если файл закрыт, WeakRef является недопустимым и файл недоступен.
Связанные разделы
Описание способов доступа к шаблон проекта Библиотеки классов WRL.Этот шаблон позволяет упростить задачу использования Visual Studio для создания компонентов Среда выполнения Windows. |
|
Описываются основные типы, функции и макросы WRL. |
|
Содержит справочные сведения по WRL. |
|
Краткое описание функций C++/CX для поддержки Среда выполнения Windows. |
|
Использование компонента среды выполнения C Windows в Visual C-++ |
Использование C++/CX для создания базового компонент Среда выполнения Windows. |