Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie Visual Studio verwenden, um ein Projekt Windows Runtime C++ Template Library (WRL) zu schreiben, können Sie die Aufgabe erheblich vereinfachen, indem Sie die WRL-Klassenbibliotheksprojektvorlage herunterladen.
Hinweis |
|---|
Wenn Sie die Projekteinstellungen für ein vorhandenes Projekt manuell aktualisieren müssen, finden Sie unter DLL (C++/CX). |
Laden Sie die WRL-Projektvorlage herunter
Visual Studio stellt eine Vorlage nicht für WRL-Projekte.Im Folgenden wird gezeigt, wie eine Projektvorlage herunterladen, die eine Grundkursbibliothek für Windows Store-App bei WRL erstellt wird.
Um die WRL-Projektvorlage herunterladen
Wählen Sie auf der Menüleiste Datei, Neues Projekt aus.
Im linken Bereich des Dialogfelds, wählen Neues Projekt ausgewähltes Online und dann Vorlagen aus.
Im Feld Onlinevorlagen durchsuchen in der oberen rechten Ecke, geben Sie WRL-Klassenbibliothek ein.Wenn die Vorlage in den Suchergebnissen angezeigt wird, wählen Sie die Schaltfläche OK aus.
Im Dialogfeld Herunterladen und installieren wenn Sie den Lizenzbedingungen zustimmen, wählen Sie die Schaltfläche Installieren aus.
Nachdem die Vorlage installiert, erstellen Sie ein Projekt, indem Sie Datei, Neues Projekt und die WRLClassLibrary Vorlage auswählen auswählen.Das Projekt erstellt eine DLL.
Beispiele, die die Projektvorlage verwenden
Lesen Sie Exemplarische Vorgehensweise: Erstellen einer Basiskomponente für Windows-Runtime mit WRL als ein Beispiel, das diese Vorlage verwendet, um eine Windows-Runtime Komponente zu erstellen.
Was die Projektvorlage stellt
Die Projektvorlage stellt bereit:
eine IDL-Datei, das die MIDL-Attribute für eine einfache Schnittstelle seine Klassenimplementierung deklariert.Im Folgenden ein Beispiel.
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; } }einer CPP-Datei, das die Klassenimplementierung definiert.Im Folgenden ein Beispiel.
#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); } }Die RuntimeClass Basisklassenhilfen verwalten den globalen Verweis aller Objekte im Modul deklarieren und die Methoden der IUnknown und IInspectable-Schnittstellen.Das InspectableClass-Makro implementiert IUnknown und IInspectable.Das ActivatableClass-Makro stellt eine Klassenfactory erstellt, die Instanzen der Klasse erstellt.
eine Datei mit dem Namen module.cpp, das die Bibliotheksexporte DllMain, DllCanUnloadNow, DllGetActivationFactory und DllGetClassObject definiert.
Hinweis