Compartilhar via


Modelo de projeto de biblioteca de classes WRL

Se você usar Visual Studio para gravar um projeto de Biblioteca em Tempo de Execução C++ do Tempo de Execução do Windows (WRL), você pode simplificar bastante sua tarefa fazendo o download do modelo de projeto de biblioteca de classes de WRL.

ObservaçãoObservação

Se você tiver atualizar manualmente configurações do projeto para um projeto existente, consulte C++/CX (DLL).

Baixar o modelo de WRL Project

Visual Studio não fornece um modelo para projetos de WRL .É aqui como baixar um modelo de projeto que cria uma biblioteca de classes básica para aplicativos de Windows Store com WRL.

Para baixar o modelo de WRL Project

  1. Na barra de menu, escolha Arquivo, Novo Projeto.

  2. No painel esquerdo da caixa de diálogo de Novo Projeto , Onlineselecione, e então selecione Modelos.

  3. Na caixa de Pesquisar modelos online no canto superior direito, digite Biblioteca de classe de WRL.Quando o modelo aparecerá nos resultados de pesquisa, escolha o botão de OK .

  4. Na caixa de diálogo de Fazer o download e Instalar , se você concorda aos termos licenciamento, escolha o botão de Instalar .

  5. Depois que o modelo, crie um projeto escolhendo Arquivo, Novo Projetoe em seguida, selecione o modelo de WRLClassLibrary .O projeto cria uma DLL.

Exemplos que usam o modelo de projeto

Ler Instruções passo a passo: criando um componente básico de Tempo de Execução do Windows com WRL para um exemplo que usa esse modelo para criar um componente de Tempo de Execução do Windows .

O que fornece o modelo de projeto

O modelo de projeto fornece:

  • um arquivo de .idl que declara MIDL atribui uma interface básica para sua implementação da classe.Aqui está um exemplo.

    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;
        }
    }
    
  • um arquivo de .cpp que define a implementação da classe.Aqui está um exemplo.

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

    Ajuda da classe base de RuntimeClass gerenciam a referência global de todos os objetos no módulo e declare os métodos de IUnknown e IInspectable interfaces.A macro de InspectableClass implementa IUnknown e IInspectable.A macro de ActivatableClass cria uma fábrica da classe que cria instâncias da classe.

  • um arquivo chamado module.cpp que define as exportações DllMain, DllCanUnloadNow, DllGetActivationFactory, e DllGetClassObjectde biblioteca.

Consulte também

Conceitos

Biblioteca de Modelos C++ do Tempo de Execução do Windows (WRL)