Шаблон проекта библиотеки классов WRL
При использовании Visual Studio для создания проекта Библиотека шаблонов C++ среды выполнения Windows (WRL), можно значительно упростить задачу, загрузить шаблон проекта Библиотеки классов WRL.
![]() |
---|
Если необходимо вручную обновить параметры проекта для существующего проекта, в разделе Библиотека DLL (C) ++/CX. |
Загрузите шаблон проекта WRL
Visual Studio не предоставляет шаблон для проектов WRL.Описание загрузить шаблон проекта, создается базовая библиотека классов для приложений Магазина Windows с WRL.
Загрузить шаблон проекта WRL
В строке меню выберите Файл, Создать проект.
На левой панели диалогового окна Создать проект, выберите В сети, а затем выбирает Шаблоны.
В поле Шаблоны поиска подключенные в правом верхнем углу введите Библиотека классов WRL.Если шаблон отображается в результатах поиска, нажмите кнопку ОК.
В диалоговом окне Загрузить и установить, если соглашаетесь на часто лицензирования, нажмите кнопку Установить.
После того как шаблон установит, создайте проект, выбрав Файл, Создать проект, а затем выбрав шаблон WRLClassLibrary.Проект создает библиотеку DLL.
Примеры, использующие шаблон проекта
Ознакомьтесь с разделом Пошаговое руководство. Создание базового компонента среды выполнения Windows с использованием WRL пример, использующий этот шаблон для создания компонент Среда выполнения Windows.
Шаблон проекта, предоставляет
Шаблон проекта содержит:
idl-файл, который объявляет атрибуты MIDL базового интерфейса его реализация класса.Ниже приведен пример.
import "inspectable.idl"; import "Windows.Foundation.idl"; #define COMPONENT_VERSION 1.0 namespace WRLClassLibrary { interface IWinRTClass; runtimeclass WinRTClass; [uuid(89656677-8679-477c-aff1-f724c64b70f3), version(COMPONENT_VERSION), exclusiveto(WinRTClass)] interface IWinRTClass : IInspectable { } [version(COMPONENT_VERSION), activatable(COMPONENT_VERSION)] runtimeclass WinRTClass { [default] interface IWinRTClass; } }
cpp-файл, определяющий реализацию класса.Ниже приведен пример.
#include "pch.h" #include "WRLClassLibrary_h.h" #include <wrl.h> using namespace Microsoft::WRL; using namespace Windows::Foundation; namespace ABI { namespace WRLClassLibrary { class WinRTClass: public RuntimeClass<IWinRTClass> { InspectableClass(L"WRLClassLibrary.WinRTClass", BaseTrust) public: WinRTClass() { } }; ActivatableClass(WinRTClass); } }
Справки базового класса RuntimeClass управляет глобальную ссылку всех объектов в модуле и объявляют методы интерфейсов IUnknown и IInspectable.Макрос InspectableClass реализует IUnknown и IInspectable.Макрос ActivatableClass создает фабрику класса, которая создает экземпляры классов.
файл с именем module.cpp, задающий экспорты DllMain, DllCanUnloadNow, DllGetActivationFactory и DllGetClassObject библиотеки.