Compartir a través de


Plantilla de proyecto de Biblioteca de clases de WRL

Si utiliza Visual Studio para escribir un proyecto de Biblioteca de plantillas de Windows Runtime C++ (WRL), puede simplificar en gran medida la tarea descargar la plantilla de proyecto biblioteca de clases de WRL.

[!NOTA]

Si tiene que actualizar manualmente las configuraciones de proyecto para un proyecto existente, vea Archivos DLL (C++/CX).

Descargar la plantilla de proyecto de WRL

Visual Studio no proporciona una plantilla para los proyectos de WRL.Aquí es cómo descargar una plantilla de proyecto que cree una biblioteca de clases básica para las aplicaciones de Tienda Windows con WRL.

Para descargar la plantilla de proyecto de WRL

  1. En la barra de menús, elija Archivo, Nuevo proyecto.

  2. En el panel izquierdo del cuadro de diálogo nuevo proyecto, En línea seleccione, y Plantillas seleccione.

  3. En el cuadro Buscar plantillas en línea en la esquina superior derecha, Biblioteca de clases de WRL escrito.Cuando la plantilla aparece en los resultados de la búsqueda, elija el botón Aceptar.

  4. En el cuadro de diálogo Descargar e instalar, si está de acuerdo los términos de licencia, elija el botón Instalar.

  5. Después de las instalaciones de la plantilla, crean un proyecto eligiendo Archivo, nuevo proyecto, y la selección de la plantilla de WRLClassLibrary.El proyecto crea un archivo DLL.

Ejemplos que utilizan la plantilla de proyecto

Lea Tutorial: Crear un componente básico de Windows en tiempo de ejecución mediante WRL para obtener un ejemplo que utilice esta plantilla para crear un componente de Windows en tiempo de ejecución.

La plantilla de proyecto proporciona

La plantilla de proyecto proporciona:

  • un archivo .idl que declara los atributos de MIDL para una interfaz básica la implementación de la clase.A continuación se muestra un ejemplo.

    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;
        }
    }
    
  • un archivo .cpp que define la implementación de la clase.A continuación se muestra un ejemplo.

    #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);
        }
    }
    

    Ayuda de la clase base de RuntimeClass administran la referencia global de todos los objetos del módulo y declaran los métodos de las interfaces de IUnknown y de IInspectable.La macro de InspectableClass implementa IUnknown y IInspectable.La macro de ActivatableClass crea un generador de clases que cree instancias de la clase.

  • un archivo denominado module.cpp que define las exportaciones DllMain, DllCanUnloadNow, DllGetActivationFactory, y DllGetClassObject de biblioteca.

Vea también

Conceptos

Biblioteca de plantillas de Windows Runtime C++ (WRL)