com4 :ComServer

Déclare un point d’extension de package de type windows.comServer. L’extension comServer peut inclure des inscriptions de classes, notamment des détails d’activation pour les serveurs qui implémentent ces classes, ainsi que des inscriptions ProgId et TreatAsClass, qui fournissent des identificateurs supplémentaires utilisés pour référencer ces classes au moment de l’exécution.

Hiérarchie d’éléments

<Package>

    <Applications>

         <Application>

              <Extensions>

                   <com4 :Extension>

                        <com4 :ComServer>

Syntax

<com4:ComServer>

<!-- Child elements -->
  Class{0,1}
  ExeServer{0,1}
  ServiceServer{0,1}
  SurrogateServer{0,1}
  TreatAsClass{0,1}
  ProgId{0,1}
  InProcessServer{0,1}
  InProcessHandler{0,1}
  ManagedInProcessServer{0,1}
  com5:InProcessServer{0,1}
  com5:InProcessHandler{0,1}

</com4:ComServer>

Clé :

{} plage spécifique d’occurrences

Attributs et éléments

Attributs

Aucune.

Éléments enfants

Élément enfant Description
Classe Définit une inscription de classe dans un serveur COM.
ExeServer Inscrit un ExeServer avec une ou plusieurs inscriptions de classes.
ServiceServer Inscrit un ServiceServer avec une ou plusieurs inscriptions de classes.
SurrogateServer Inscrit un SurrogateServer avec une ou plusieurs inscriptions de classes.
TreatAsClass Inscription qui correspond à une inscription CLSID avec la sous-clé TreatAs.
ProgId Identificateur par programme (ProgID) qui peut être associé à un CLSID.
InProcessServer Inscrit un serveur in-process avec une ou plusieurs inscriptions de classes.
InProcessHandler Inscrit un gestionnaire in-process avec une ou plusieurs inscriptions de classes.
ManagedInProcessServer Inscrit un serveur in-process managé avec une ou plusieurs inscriptions de classes.
com5 :InProcessServer Inscrit un serveur in-process avec une ou plusieurs inscriptions de classes. Le schéma com5 introduit des modifications mineures dans la validation syntaxique à partir du schéma com4.
com5 :InProcessHandler Inscrit un gestionnaire in-process avec une ou plusieurs inscriptions de classes. Le schéma com5 introduit des modifications mineures dans la validation syntaxique à partir du schéma com4.

Éléments parents

Élément parent Description
com4 :Extension Fournit des fonctionnalités permettant d’exposer les inscriptions COM aux clients en dehors du package d’application. L’extension com4 est une nouvelle version qui est un sur-ensemble et un remplacement pour les versions de schéma COM précédentes.

Remarques

Dans les packages multi-applications, il est important de placer l’inscription du serveur COM sous l’élément manifeste Applications/Application approprié, car les processus serveur COM s’exécutent avec l’identité de l’élément Applications/Application ancêtre.

Les serveurs COM inscrits dans le manifeste obtiennent toujours le comportement d’activation en tant que package (AAP), ce qui signifie que le serveur COM s’exécute avec le jeton par défaut de la session utilisateur avec des revendications de package et d’application ajoutées. Cela diffère du comportement d’activation par défaut des serveurs COM classiquement inscrits, dans lesquels le serveur COM s’exécute avec le jeton du client. Pour la plupart des applications, cette différence ne sera pas perceptible, car les clients s’exécutent généralement avec le jeton par défaut de la session utilisateur. D’autres comportements d’activation, tels que les runAs, ne sont pas pris en charge.

Il est possible d’avoir plusieurs extensions comServer sous l’élément Applications/Application, mais dans la plupart des cas, ce n’est ni nécessaire ni recommandé. Un exemple de cas de périphérie où plusieurs extensions comServer sont nécessaires est si un package a besoin de certaines des inscriptions pour avoir CompatMode="classic » tandis que d’autres ont CompatMode="modern », la seule façon de les faire est de les fractionner entre extensions.

Modifications apportées à l’extension com4

La syntaxe de l’extension com4 est un nouveau sur-ensemble de la syntaxe d’extension com précédente. Cette version de la syntaxe prend en charge la même structure que les anciennes versions de la syntaxe, où les inscriptions de classes sont représentées par des éléments ExeServer/Class, SurrogateServer/Class, ServiceServer/Class, InProcessServer/Class, InProcessHandler/Class ou ManagedInProcessServer/Class.

La nouvelle syntaxe prend également en charge d’autres structures, où :

  • ExeServer/ClassReference, SurrogateServer/ClassReference, ServiceServer/ClassReference, InProcessServer/ClassReference, InProcessHandler/ClassReference ou Les éléments ManagedInProcessServer/ClassReference référencent des éléments Class de niveau supérieur

et/ou

  • Les éléments SurrogateServer/InProcessServerClassReference font référence aux éléments InProcessServer/Class (inProcessServer/ClassReference) ou ManagedInProcessServer/Class (également ManagedInProcessServer/ClassReference).

L’objectif main de la nouvelle structure de syntaxe est d’activer des combinaisons de serveur in-process, de gestionnaire in-process et d’inscriptions de serveur hors processus pour le même CLSID, comme possible et pris en charge avec la disposition du Registre classique. Pour plus d’informations sur la disposition du Registre COM, consultez Clé CLSID.

Configuration requise

Élément Valeur
Espace de noms http://schemas.microsoft.com/appx/manifest/com/windows10/4
Minimum OS Version Windows 10 (build 20348)