Partager via


Modèle de projet de bibliothèque de classes WRL

Si vous utilisez Visual Studio pour écrire un projet Bibliothèque de modèles Windows Runtime C++ (WRL), vous pouvez simplifier considérablement votre tâche en téléchargeant le modèle de projet Bibliothèque de classes WRL.

[!REMARQUE]

Si vous devez mettre à jour les paramètres du projet pour un projet existant, consultez DLL (C++/CX).

Téléchargez le modèle de projet WRL.

Visual Studio ne fournit pas de modèle pour les projets WRL.Voici comment télécharger un modèle de projet qui crée une bibliothèque de classes de base pour les applications d' Windows Store avec WRL.

Pour télécharger le modèle de projet WRL.

  1. Dans la barre de menus, cliquez sur Fichier, Nouveau projet.

  2. Dans le volet gauche de la boîte de dialogue Nouveau projet, sélectionnez En ligne, puis Modèles.

  3. Dans la zone Recherche de modèles en ligne dans l'angle supérieur droit, tapez Bibliothèque de classe WRL.Lorsque le modèle s'affiche dans les résultats de la recherche, cliquez le bouton OK.

  4. Dans la boîte de dialogue Télécharger et installer, si vous êtes d'accord avec les termes de licence, cliquez le bouton Installer.

  5. Une fois que le modèle est installé, créez un projet en sélectionnant Fichier, Nouveau projet, puis en sélectionnant le modèle WRLClassLibrary.Le projet crée une DLL.

Exemples qui utilisent le modèle de projet

Lisez Procédure pas à pas : création d'un composant Windows Runtime de base à l'aide de WRL pour obtenir un exemple utilisant ce modèle pour créer un composant de Windows Runtime.

Le modèle de projet fournit

Le modèle de projet le fournit :

  • un fichier .idl qui déclare MIDL attributs pour une interface de base son implémentation de la classe.Voici un exemple.

    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 fichier.cpp qui définit l'implémentation de classe.Voici un exemple.

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

    Les aide de la classe de base d' RuntimeClass gèrent la référence globale de tous les objets du module et déclarez les méthodes d'interfaces d' IUnknown et d' IInspectable .Le d' InspectableClass implémente IUnknown et IInspectable.Le d' ActivatableClass crée une fabrique de classe qui crée des instances de la classe.

  • un fichier nommé module.cpp qui définit les exportations de bibliothèque DllMain, DllCanUnloadNow, DllGetActivationFactory, et DllGetClassObject.

Voir aussi

Concepts

Bibliothèque de modèles Windows Runtime C++ (WRL)