com4:InProcessServerClassReference
Especifica la clase o referencia de clase con la que está asociado el servidor registrado en proceso y establece los detalles de registro.
Jerarquía de elementos
<com4:InProcessServerClassReference>
<com4:InProcessServerClassReference>
Sintaxis
<com4:InProcessServerClassReference
EnableOleDefaultHandler = 'A boolean value.'
Id = 'A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.' />
Atributos y elementos
Atributos
Atributo | Descripción | Tipo de dato | Obligatorio | Valor predeterminado |
---|---|---|---|---|
EnableOleDefaultHandler | Debe establecerse en true si el valor predeterminado de la clave InprocHandler32 es Ole32.dll . De lo contrario, se debe omitir. |
Valor booleano. | Sí | Falso |
id. de |
Identificador de la clase |
GUID con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. | Sí |
Elementos secundarios
Ninguno.
Elementos primarios
Elemento primario | Descripción |
---|---|
com4:SurrogateServer | Registra un surrogateServer con uno o varios registros de clases. |
Observaciones
La clave CLSID](/windows/win32/com/clsid-key-hklm) en el diseño del Registro COM permite registrar un CLSID para la activación inproc (CLSCTX_INPROC_SERVER) y para la activación fuera de proceso en un servidor suplente (CLSCTX_LOCAL_SERVER) especificando:
- Detalles de activación de inproc en una subclave InprocServer32.
- Referencia a una clave AppID a través del valor AppID de la clave CLSID, donde la clave AppID especifica un suplente a través del valor de DllSurrogate. Tenga en cuenta que para la activación outofproc en un servidor suplente, los detalles del registro del servidor inproc, e.g. dll ruta de acceso y ThreadingModel, también se usan en la activación outofproc. El elemento ClassReference secundario del elemento InProcessServer habilita un paquete que registra un CLSID para la activación inproc y outofproc para especificar los detalles del servidor inproc una vez, como elemento inProcessServer/Class o elemento InProcessServer/ClassReference y hacer referencia a este elemento desde el surrogateServer que admite la activación outofproc del CLSID. Esta estructura para los registros de inproc/outofproc refleja mejor el diseño del registro COM que especificar de forma independiente la ruta de acceso dll y ThreadingModel en los elementos InProcessServer/ClassReference y SurrogateServer/ClassReference.
Al empaquetar una aplicación con un CLSID registrado para la activación outofproc en un servidor suplente, se recomienda generalmente que solo el servidor suplente esté registrado en el manifiesto. Por ejemplo, los registros suplentes a menudo se usan para admitir puntos de extensión basados en COM que históricamente habilitaban las implementaciones del servidor inproc, pero que ahora recomiendan un registro de servidor outofproc como procedimiento recomendado para el aislamiento. En el caso de las aplicaciones empaquetadas, existen limitaciones funcionales adicionales para los servidores inproc (consulte In-ProcessServers para obtener más información), mientras que cualquier paquete con la funcionalidad restringida runFullTrust puede registrar correctamente un servidor suplente y, para la mayoría de los puntos de extensión, registrar un servidor suplente es suficiente para habilitar la funcionalidad de la extensión. Sin embargo, si una aplicación empaquetada necesita admitir la activación inproc de sus CLSID para la compatibilidad con otras aplicaciones que solicitan activación de inproc (CLSCTX_INPROC_SERVER) y satisface los requisitos para registrar un servidor inproc, puede registrar el CLSID para la activación de inproc y la activación fuera deproc en un suplente. En este caso, se recomienda proporcionar los detalles del servidor inproc en un inProcessServer/Class o elemento InProcessServer/ClassReference y hacer referencia a ellos desde un elemento SurrogateServer/InProcessServerClassReference.
Ejemplos
En el ejemplo siguiente se muestra el uso de InProcessServerClassreference para hacer referencia a una clase en un registro de servidor suplente.
<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>
Requisitos
Artículo | Valor |
---|---|
de espacio de nombres de |
http://schemas.microsoft.com/appx/manifest/com/windows10/4 |
versión mínima del sistema operativo | Windows 10 (compilación 20348) |