Modelo de projeto de biblioteca de classes WRL
Se você usar o 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 muito sua tarefa baixando o modelo de projeto de biblioteca de classes de WRL.
Dica
Se for necessário atualizar manualmente as configurações de um projeto existente, consulte DLL (C++/CX).
Baixe o modelo de projeto de WRL
Visual Studio não fornece um modelo para projetos de WRL . Veja como baixar um modelo de projeto do que cria uma biblioteca básica da classe para aplicativos de Windows Store com WRL.
Para baixar o modelo de projeto de WRL
Na barra de menu, escolha Arquivo, Novo Projeto.
No painel esquerdo da caixa de diálogo de Novo Projeto , Online, selecione e selecione Modelos.
Na caixa de Pesquisar modelos online no canto superior direito, digite Biblioteca de classes de WRL. Quando o modelo é exibido nos resultados da pesquisa, escolha o botão de OK .
Na caixa de diálogo de Fazer o download e Instalar , se você concordar com os termos de licença, escolha o botão de Instalar .
Depois que as instalações do modelo, criará um projeto escolhendo Arquivo, Novo Projeto, e selecione o modelo de WRLClassLibrary . O projeto cria um 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 obter um exemplo que usa esse modelo para criar um componente de Tempo de Execução do Windows .
O que o modelo de projeto fornece
O modelo de projeto fornece:
um arquivo de .idl que declare MIDL atribui uma interface básica para sua implementação da classe. Veja 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 .cpp que define a implementação da classe. Veja 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 declaram 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 denominado module.cpp que define as DllMainexportações, DllCanUnloadNow, DllGetActivationFactory, e DllGetClassObjectde biblioteca.
Consulte também
Conceitos
Biblioteca de Modelos C++ do Tempo de Execução do Windows (WRL)