com4:ComServer

Dichiara un punto di estensione del pacchetto di tipo windows.comServer. L'estensione comServer può includere registrazioni di classe, inclusi i dettagli di attivazione per i server che implementano queste classi e le registrazioni ProgId e TreatAsClass, che forniscono identificatori aggiuntivi usati per fare riferimento a queste classi in fase di esecuzione.

Gerarchia degli elementi

<Pacchetto>

    <Applicazioni>

         <Applicazione>

              <Estensioni>

                   <com4:Extension>

                        <com4:ComServer>

Sintassi

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

Chiave

{} intervallo specifico di occorrenze

Attributi ed elementi

Attributi

Nessuno.

Elementi figlio

Elemento figlio Descrizione
Classe Definisce una registrazione di classe in un server COM.
ExeServer Registra un ExeServer con una o più registrazioni di classe.
ServiceServer Registra un ServiceServer con una o più registrazioni di classe.
SurrogateServer Registra un SurrogateServer con una o più registrazioni di classe.
TreatAsClass Registrazione che corrisponde a una registrazione CLSID con la sottochiave TreatAs.
Progid Identificatore programmatico (ProgID) che può essere associato a un CLSID.
InProcessServer Registra un server in-process con una o più registrazioni di classe.
InProcessHandler Registra un gestore in-process con una o più registrazioni di classe.
ManagedInProcessServer Registra un server in-process gestito con una o più registrazioni di classe.
com5:InProcessServer Registra un server in-process con una o più registrazioni di classe. Lo schema com5 introduce alcune modifiche minime nella convalida sintattica dallo schema com4.
com5:InProcessHandler Registra un gestore in-process con una o più registrazioni di classe. Lo schema com5 introduce alcune modifiche minime nella convalida sintattica dallo schema com4.

Elementi padre

Elemento padre Descrizione
com4:Extension Fornisce funzionalità per esporre le registrazioni COM ai client all'esterno del pacchetto dell'app. L'estensione com4 è una nuova versione che rappresenta un superset di e la sostituzione per le versioni precedenti dello schema COM.

Commenti

Nei pacchetti multi-applicazione è importante inserire la registrazione del server COM nell'elemento manifesto Application/Application corretto, perché i processi del server COM verranno eseguiti con l'identità dell'elemento Applications/Application predecessore.

I server COM registrati nel manifesto ottengono sempre il comportamento Activate As Package (AAP), il che significa che il server COM viene eseguito con il token predefinito della sessione utente con le attestazioni di pacchetto e applicazione aggiunte. Ciò è diverso dal comportamento di attivazione predefinito dei server COM registrati in modo classico, in cui il server COM viene eseguito con il token del client. Per la maggior parte delle applicazioni, questa differenza non sarà evidente perché i client in genere vengono eseguiti con il token predefinito della sessione utente. Altri comportamenti di attivazione, ad esempio RunA, non sono supportati.

È possibile avere più estensioni comServer nell'elemento Applications/Application, ma nella maggior parte dei casi non è né necessario né consigliato. Un esempio di caso perimetrale in cui sono necessarie più estensioni comServer è se un pacchetto necessita di alcune registrazioni per avere CompatMode="classic" mentre altri hanno CompatMode="modern", l'unico modo per farlo è suddividerli tra le estensioni.

Modifiche nell'estensione com4

La sintassi dell'estensione com4 è un nuovo superset della sintassi dell'estensione com precedente. Questa versione della sintassi supporta la stessa struttura delle versioni precedenti della sintassi, in cui le registrazioni di classe sono rappresentate dagli elementi ExeServer/Class, SurrogateServer/Class, ServiceServer/Class, InProcessServer/Class, InProcessHandler/Class o ManagedInProcessServer/Class.

La nuova sintassi supporta anche strutture alternative, dove:

  • Gli elementi ExeServer/ClassReference, SurrogateServer/ClassReference, ServiceServer/ClassReference, InProcessServer/ClassReference, InProcessHandler/ClassReference o ManagedInProcessServer/ClassReference fanno riferimento a elementi class di primo livello

e/o

  • Gli elementi SurrogateServer/InProcessServerClassReference fanno riferimento a elementi InProcessServer/Class (in alternativa, InProcessServer/ClassReference) o ManagedInProcessServer/Class (in alternativa, ManagedInProcessServer/ClassReference).

Lo scopo principale della nuova struttura di sintassi è abilitare combinazioni di server in-process, gestore in-process e registrazioni del server di elaborazione per lo stesso CLSID, il più possibile e supportato con il layout classico del Registro di sistema. Per altre informazioni sul layout del Registro di sistema COM, vedere Chiave CLSID.

Requisiti

Elemento Valore
Namespace http://schemas.microsoft.com/appx/manifest/com/windows10/4
Minimum OS Version Windows 10 (Build 20348)