Windows Dev Center

Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

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

La Bibliothèque de modèles Windows Runtime C++ (WRL) est une bibliothèque de modèles fournissant un moyen bas niveau pour créer et utiliser des composants de Windows Runtime.

WRL vous permet d'implémenter et de consommer plus facilement des composants COM (Component Object Model). Elle fournit des techniques de gestion interne comme le décompte des références pour gérer la durée de vie des objets et tester des valeurs d'HRESULT afin de déterminer si une opération a réussi ou échoué. Pour utiliser correctement WRL, vous devez respecter soigneusement ces règles et techniques.

Les Extensions de composant Visual C++ (C++/CX) sont un moyen haut niveau et basé sur un langage d'utiliser des composants de Windows Runtime. WRL et C++/CX simplifient l'écriture de code pour le Windows Runtime en exécutant automatiquement les tâches de gestion interne à votre place.

WRL et C++/CX offrent des avantages différents. Voici quelques raisons pour lesquelles vous pourriez souhaiter utiliser WRL au lieu de C++/CX :

  • WRL ajoute peu d'abstraction sur l'interface binaire d'application (ABI) Windows Runtime, vous offrant la possibilité de contrôler le code sous-jacent pour mieux créer ou utiliser les API de Windows Runtime.

  • C++/CX représente les valeurs HRESULT COM comme des exceptions. Si vous avez hérité d'une base de code qui utilise COM ou d'une base de code qui n'utilise pas d'exceptions, vous pourriez constater que WRL est un moyen plus naturel de travailler avec le Windows Runtime car vous n'avez pas besoin d'utiliser des exceptions.

    Remarque Remarque

    WRL utilise des valeurs HRESULT et ne lève pas d'exceptions. En outre, la WRL utilise des pointeurs intelligents et le modèle RAII afin de s'assurer que les objets sont détruits correctement lorsque le code de votre application lève une exception. Pour plus d'informations sur les pointeurs intelligents et le modèle RAII, consultez Pointeurs intelligents (Modern C++) et Ressources propres objets (RAII).

  • La finalité et la conception de WRL est inspirée par la bibliothèque Active Template Library (ATL), qui est un ensemble de classes C++ basées sur des modèles qui simplifie la programmation d'objets COM. Étant donné que WRL utilise du C++ standard pour encapsuler le Windows Runtime, vous pouvez déplacer et interagir plus facilement avec de nombreux composants COM existants écrits en ATL vers le Windows Runtime. Si vous connaissez déjà ATL, vous pourriez constater que la programmation de WRL est plus facile.

Voici quelques ressources qui peuvent vous aider à utiliser WRL immédiatement.

Windows Runtime Library (WRL)

Dans cette vidéo de Channel 9, vous découvrirez la manière dont les vues WRL vous aident à écrire des applications Windows 8.x Store et comment créer et utiliser des composants Windows Runtime.

Comment : activer et utiliser un composant Windows Runtime Component à l'aide de WRL

Indique comment utiliser WRL pour initialiser le Windows Runtime puis activer et utiliser un composant de Windows Runtime.

Comment : terminer une opération asynchrone à l'aide de WRL

Indique comment utiliser WRL pour démarrer des opérations asynchrones et effectuer des actions lorsque les opérations se terminent.

Comment : gérer les événements à l'aide de WRL

Indique comment utiliser WRL pour s'abonner aux événements d'un objet Windows Runtime et les gérer.

Procédure pas à pas : création d'un composant Windows Runtime de base à l'aide de WRL

Indique comment utiliser WRL pour créer un composant Windows Runtime basique qui additionne deux nombres. Démontre également comment déclencher des événements et utiliser le composant d'une application Windows 8.x Store qui utilise JavaScript.

Procédure pas à pas : création d'une application Windows Store à l'aide de WRL et Media Foundation

Découvrez comment créer une application Windows 8.x Store qui utilise Microsoft Media Foundation.

Comment : créer un composant COM classique à l'aide de WRL

Montre comment utiliser WRL pour créer un composant COM de base et une méthode de base pour stocker et consommer le composant COM à partir d'une application de bureau.

Comment : instancier directement les composants WRL

Découvrez comment utiliser les fonctions Microsoft::WRL::Make et Microsoft::WRL::Details::MakeAndInitialize pour instancier un composant à partir du module qui le définit.

Comment : utiliser winmdidl.exe et midlrt.exe pour créer les fichiers .h à partir des métadonnées Windows

Montre comment consommer des composants Windows Runtime personnalisées à partir de WRL en créant un fichier IDL à partir des métadonnées .winmd.

Procédure pas à pas : connexion à l'aide de tâches et de requêtes HTTP XML

Montre comment utiliser les interfaces IXMLHTTPRequest2 et IXMLHTTPRequest2Callback avec des tâches envoyant des requêtes HTTP GET et POST à un service Web dans une application Windows 8.x Store.

Exemple d'optimiseur de voyage Bing Maps

Utilise la classe HttpRequest définie dans Procédure pas à pas : connexion à l'aide de tâches et de requêtes HTTP XML dans le contexte d'une application Windows 8.x Store complète.

Exemple de création d'un composant DLL Windows Runtime avec C++

Montre comment utiliser WRL pour créer un composant DLL in-process et le consommer à partir de C++/CX, JavaScript et C#.

Exemple de jeu Marble Maze DirectX

Illustre comment utiliser WRL pour gérer la durée de vie des composants COM tels que DirectX et Media Foundation dans le contexte d'un jeu 3D complet.

Exemple d'envoi de notifications toast à partir d'applications de bureau

Illustre comment utiliser WRL pour manipuler des notifications toast à partir d'une application de bureau.

WRL ressemble à la bibliothèque Active Template Library (ATL) car vous pouvez l'utiliser pour créer des objets COM petits et rapides. WRL et ATL partagent également des concepts tels que la définition d'objets dans des modules, l'inscription explicite d'interfaces et la création d'objets à l'aide de fabriques. Vous pourriez être à l'aise avec WRL si la bibliothèque ATL vous est familière.

WRL prend en charge la fonctionnalité COM requise pour les applications Windows 8.x Store. Par conséquent, elle diffère de la bibliothèque ATL car elle omet la prise en charge directe des fonctionnalités COM telles que :

  • agrégation ;

  • implémentations stock ;

  • interfaces doubles (IDispatch) ;

  • interfaces d'énumérateur standard ;

  • points de connexion ;

  • interfaces détachables ;

  • incorporation OLE ;

  • contrôles ActiveX ;

  • COM+.

WRL fournit des types représentant quelques concepts de base. Les sections suivantes décrivent ces types.

Hh438466.collapse_all(fr-fr,VS.140).gifComPtr

ComPtr est un type de pointeur intelligent qui représente l'interface spécifiée par le paramètre de modèle. Utilisez ComPtr pour déclarer une variable pouvant accéder aux membres d'un objet dérivé de l'interface. ComPtr met à jour automatiquement un décompte de références pour le pointeur d'interface sous-jacent et libère l'interface lorsque le décompte de références atteint zéro.

Hh438466.collapse_all(fr-fr,VS.140).gifRuntimeClass

RuntimeClass représente une classe instanciée qui hérite d'un ensemble d'interfaces spécifiées. Un objet RuntimeClass peut fournir une combinaison de prise en charge pour une ou plusieurs interfaces COM Windows Runtime ou une référence faible à un composant.

Hh438466.collapse_all(fr-fr,VS.140).gifModule

Module représente une collection d'objets connexes. Un objet Module gère les fabriques de classe, qui créent des objets, et l'inscription, qui permet à d'autres applications d'utiliser un objet.

Hh438466.collapse_all(fr-fr,VS.140).gifRappel

La fonction Callback crée un objet dont la fonction membre est un gestionnaire d'événements (une méthode de rappel). Utilisez la fonction Callback pour écrire des opérations asynchrones.

Hh438466.collapse_all(fr-fr,VS.140).gifEventSource

EventSource sert à gérer des gestionnaires d'événements délégués. Utilisez WRL pour implémenter un délégué et utilisez EventSource pour ajouter, supprimer et appeler des délégués.

Hh438466.collapse_all(fr-fr,VS.140).gifAsyncBase

AsyncBase fournit des méthodes virtuelles qui représentent le modèle de programmation asynchrone Windows Runtime. Redéfinissez les membres de cette classe pour créer une classe personnalisée capable de démarrer, arrêter ou contrôler la progression d'une opération asynchrone.

Hh438466.collapse_all(fr-fr,VS.140).gifFtmBase

FtmBase représente un objet marshaler libre de threads. FtmBase crée un tableau global d'interface (GIT) et vous permet de gérer le marshaling et les objets proxy.

Hh438466.collapse_all(fr-fr,VS.140).gifWeakRef

WeakRef est un type de pointeur intelligent qui représente une référence faible, qui fait référence à un objet qui peut être accessible ou non. Un objet WeakRef peut être utilisé uniquement par le Windows Runtime, et non par un COM classique.

Un objet WeakRef représente généralement un objet dont l'existence est contrôlée par un thread ou une application externe. Par exemple, un objet WeakRef peut faire référence à un objet fichier. Lorsque le fichier est ouvert, WeakRef est valide et le fichier référencé est accessible. En revanche, quand le fichier est fermé, WeakRef est incorrect et le fichier n'est pas accessible.

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

Décrit comment accéder au modèle de projet WRL Class Library. Ce modèle permet de simplifier l'utilisation de Visual Studio pour créer des composants Windows Runtime.

API WRL principales par catégorie

Met en surbrillance les types, les fonctions et les macros WRL primaires.

Référence WRL

Contient des informations de référence pour WRL.

Référence rapide (Windows Runtime et Visual C++)

Décrit brièvement les fonctionnalités de C++/CX prenant en charge Windows Runtime.

Utilisation des composants Windows Runtime en Visual C++

Montre comment utiliser C++/CX pour créer un composant Windows Runtime de base.

Afficher:
© 2015 Microsoft