com4:ComServer

Declara un punto de extensión de paquete de tipo windows.comServer. La extensión comServer puede incluir registros de clases, incluidos los detalles de activación de los servidores que implementan estas clases y los registros ProgId y TreatAsClass, que proporcionan identificadores adicionales que se usan para hacer referencia a estas clases en tiempo de ejecución.

Jerarquía de elementos

<Paquete>

    <APLICACIONES>

         <Application>

              <Extensiones>

                   <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>

Clave

{} intervalo específico de repeticiones

Atributos y elementos

Atributos

Ninguno.

Elementos secundarios

Elemento secundario Descripción
Clase Define un registro de clase en un servidor COM.
ExeServer Registra un ExeServer con uno o varios registros de clase.
ServiceServer Registra un ServiceServer con uno o varios registros de clases.
SuplenteServer Registra un suplenteServer con uno o varios registros de clases.
TreatAsClass Registro que corresponde a un registro CLSID con la subclave TreatAs.
ProgId Identificador de programación (ProgID) que se puede asociar a un CLSID.
InProcessServer Registra un servidor en proceso con uno o varios registros de clases.
InProcessHandler Registra un controlador en proceso con uno o varios registros de clases.
ManagedInProcessServer Registra un servidor administrado en proceso con uno o varios registros de clases.
com5:InProcessServer Registra un servidor en proceso con uno o varios registros de clases. El esquema com5 presenta algunos cambios menores en la validación sintáctica del esquema com4.
com5:InProcessHandler Registra un controlador en proceso con uno o varios registros de clases. El esquema com5 presenta algunos cambios menores en la validación sintáctica del esquema com4.

Elementos primarios

Elemento primario Descripción
com4:Extension Proporciona funcionalidad para exponer registros COM a clientes fuera del paquete de la aplicación. La extensión com4 es una nueva versión que es un superconjunto de y reemplazo de las versiones anteriores del esquema COM.

Comentarios

En los paquetes de varias aplicaciones, es importante colocar el registro del servidor COM en el elemento de manifiesto Aplicaciones/aplicación correcto, ya que los procesos del servidor COM se ejecutarán con la identidad del elemento Antecesor Applications/Application.

Los servidores COM registrados en el manifiesto siempre obtienen el comportamiento activar como paquete (AAP), lo que significa que el servidor COM se ejecuta con el token predeterminado de sesión de usuario con notificaciones de paquete y aplicación agregadas. Esto es diferente del comportamiento de activación predeterminado de los servidores COM registrados clásicamente, en los que el servidor COM se ejecuta con el token del cliente. En la mayoría de las aplicaciones, esta diferencia no será notable porque los clientes normalmente se ejecutan con el token predeterminado de sesión de usuario. No se admiten otros comportamientos de activación, como RunAs.

Es posible tener varias extensiones comServer en el elemento Applications/Application, pero en la mayoría de los casos esto no es necesario ni recomendado. Un ejemplo de caso perimetral en el que se necesitan varias extensiones comServer es si un paquete necesita que algunos de los registros tengan CompatMode="classic", mientras que otros tienen CompatMode="modern", la única manera de hacerlo es dividirlas entre extensiones.

Cambios en la extensión com4

La sintaxis de extensión com4 es un nuevo superconjunto de la sintaxis de extensión com anterior. Esta versión de la sintaxis admite la misma estructura que las versiones anteriores de la sintaxis, donde los registros de clase se representan mediante exeServer/Class, SurrogateServer/Class, ServiceServer/Class, InProcessServer/Class, InProcessHandler/Class o elementos ManagedInProcessServer/Class.

La nueva sintaxis también admite estructuras alternativas, donde:

  • ExeServer/ClassReference, SurrogateServer/ClassReference, ServiceServer/ClassReference, InProcessServer/ClassReference, InProcessHandler/ClassReference o ManagedInProcessServer/ClassReference hacen referencia a elementos class de nivel superior

y/o

  • Los elementos SurrogateServer/InProcessServerClassReference hacen referencia a elementos InProcessServer/Class (como alternativa, InProcessServer/ClassReference) o ManagedInProcessServer/Class (como alternativa, elementos ManagedInProcessServer/ClassReference).

El propósito principal de la nueva estructura de sintaxis es habilitar combinaciones de servidores en proceso, controlador en proceso y registros fuera del servidor de procesos para el mismo CLSID, lo que es posible y compatible con el diseño del registro clásico. Para obtener más información sobre el diseño del registro COM, vea Clave CLSID.

Requisitos

Elemento Value
Espacio de nombres http://schemas.microsoft.com/appx/manifest/com/windows10/4
Minimum OS Version Windows 10 (compilación 20348)