com4:InProcessServerClassReference
Specifica il riferimento di classe o classe a cui è associato il server in-process registrato e imposta i dettagli di registrazione.
Gerarchia degli elementi
<com4:InProcessServerClassReference>
<com4:InProcessServerClassReference>
Sintassi
<com4:InProcessServerClassReference
EnableOleDefaultHandler = 'A boolean value.'
Id = 'A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.' />
Attributi ed elementi
Attributi
Attributo | Descrizione | Tipo di dati | Obbligatorio | Valore predefinito |
---|---|---|---|---|
EnableOleDefaultHandler | Questa proprietà deve essere impostata su true se il valore predefinito della chiave |
Valore booleano. | Sì | Falso |
id | ID del classe |
GUID nel formato xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. | Sì |
Elementi figlio
Nessuno.
Elementi padre
Elemento padre | Descrizione |
---|---|
com4:SurrogateServer | Registra un SurrogateServer con una o più registrazioni di classe. |
Osservazioni
La chiave CLSID](/windows/win32/com/clsid-key-hklm) nel layout del Registro di sistema COM consente la registrazione di un CLSID per l'attivazione inproc (CLSCTX_INPROC_SERVER) e per l'attivazione outofproc in un server surrogato (CLSCTX_LOCAL_SERVER) specificando:
- Dettagli di attivazione inproc in una sottochiave in un InprocServer32.
- Riferimento a una chiave AppID tramite il valore AppID della chiave CLSID, in cui la chiave AppID specifica un surrogato tramite il valore DllSurrogate. Si noti che per l'attivazione outofproc in un server surrogato, i dettagli di registrazione del server inproc, e.g. dll percorso e ThreadingModel, vengono usati anche nell'attivazione outofproc. Il ClassReference figlio dell'elemento InProcessServer abilita un pacchetto che registra un CLSID per l'attivazione sia inproc che outofproc per specificare i dettagli del server inproc una sola volta, come elemento InProcessServer/Class o InProcessServer/ClassReference e fare riferimento a questo elemento da SurrogateServer che supporta l'attivazione outofproc del CLSID. Questa struttura per le registrazioni inproc/outofproc riflette maggiormente il layout del Registro di sistema COM che specifica in modo indipendente il percorso dll e ThreadingModel sia negli elementi InProcessServer/ClassReference che surrogatiServer/ClassReference.
Quando si crea un pacchetto di un'applicazione con un CLSID registrato per l'attivazione outofproc in un server surrogato, è in genere consigliabile registrare solo il server surrogato nel manifesto. Ad esempio, le registrazioni surrogate vengono spesso usate per supportare i punti di estensione basati su COM che storicamente abilitavano le implementazioni del server inproc, ma che ora consigliano una registrazione del server outofproc come procedura consigliata per l'isolamento. Per le applicazioni in pacchetto, esistono ulteriori limitazioni funzionali per i server inproc (vedere In-ProcessServers per informazioni dettagliate), mentre qualsiasi pacchetto con la funzionalità con restrizioni runFullTrust può registrare correttamente un server surrogato e per la maggior parte dei punti di estensione che registrano un server surrogato è sufficiente per abilitare la funzionalità dell'estensione. Tuttavia, se un'applicazione in pacchetto deve supportare l'attivazione inproc dei CLSID per la compatibilità con altre applicazioni che richiedono l'attivazione inproc (CLSCTX_INPROC_SERVER) e soddisfa i requisiti per la registrazione di un server inproc, può registrare il CLSID per l'attivazione inproc e l'attivazione outofproc in un surrogato. In questo caso, è consigliabile specificare i dettagli del server inproc in un InProcessServer/Class o elemento InProcessServer/ClassReference e farvi riferimento da un elemento SurrogateServer/InProcessServerClassReference.
Esempi
Nell'esempio seguente viene illustrato l'uso di InProcessServerClassreference per fare riferimento a una classe in una registrazione del server surrogato.
<com4:Class Id="d57899b9-1334-4600-904a-719df0512988" DisplayName="CLSID_Baz"/>
<com4:InProcessServer Path="MyServer.dll">
<com4:ClassReference Id="d57899b9-1334-4600-904a-719df0512988" ThreadingModel="Apartment"/>
</com4:InProcessServer>
<com:SurrogateServer DisplayName="My surrogate server">
<com4:InProcessServerClassReference Id="d57899b9-1334-4600-904a-719df0512988"/>
</com:SurrogateServer>
Fabbisogno
Articolo | Valore |
---|---|
spazio dei nomi | http://schemas.microsoft.com/appx/manifest/com/windows10/4 |
versione minima del sistema operativo | Windows 10 (Build 20348) |