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


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

При использовании Visual Studio для создания проекта Библиотека шаблонов C++ среды выполнения Windows (WRL), можно значительно упростить задачу, загрузить шаблон проекта Библиотеки классов WRL.

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

Если необходимо вручную обновить параметры проекта для существующего проекта, в разделе Библиотека DLL (C) ++/CX.

Загрузите шаблон проекта WRL

Visual Studio не предоставляет шаблон для проектов WRL.Описание загрузить шаблон проекта, создается базовая библиотека классов для приложений Магазина Windows с WRL.

Загрузить шаблон проекта WRL

  1. В строке меню выберите Файл, Создать проект.

  2. На левой панели диалогового окна Создать проект, выберите В сети, а затем выбирает Шаблоны.

  3. В поле Шаблоны поиска подключенные в правом верхнем углу введите Библиотека классов WRL.Если шаблон отображается в результатах поиска, нажмите кнопку ОК.

  4. В диалоговом окне Загрузить и установить, если соглашаетесь на часто лицензирования, нажмите кнопку Установить.

  5. После того как шаблон установит, создайте проект, выбрав Файл, Создать проект, а затем выбрав шаблон 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 библиотеки.

См. также

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

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