InprocServer32

Registra un servidor en proceso de 32 bits y especifica el modelo de subproceso del apartamento en el que se puede ejecutar el servidor.

Entrada del Registro

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
   {CLSID}
      InprocServer32
         (Default) = path
         ThreadingModel = value

Comentarios

ThreadingModel es un valor de REG_SZ que especifica el modelo de subprocesos. Los valores posibles se muestran en la tabla siguiente.

Valor Descripción
Apartment Apartamento de un solo subproceso
Ambos Apartamento multiproceso o multiproceso
Gratuito Apartamento multiproceso
Neutra Apartamento neutro

 

Debe usar el mismo valor para cada objeto proporcionado por el servidor en proceso.

Si ThreadingModel no está presente o no está establecido en un valor, el servidor se carga en el primer apartamento que se inicializó en el proceso. Este apartamento se conoce a veces como el apartamento principal de un solo subproceso (STA). Si COM inicializa el primer STA de un proceso, en lugar de mediante una llamada explícita a CoInitialize o CoInitializeEx, se denomina STA del host. Por ejemplo, COM crea un STA de host si un servidor en proceso que se va a cargar requiere un STA, pero actualmente no hay ningún STA en el proceso.

Siempre que sea posible, el servidor en proceso se carga en el mismo apartamento que el cliente que lo carga. Si el modelo de subprocesos del apartamento de cliente no es compatible con el modelo especificado, el servidor se carga como se indica en la tabla siguiente.

Modelo de subprocesos del servidor El servidor de apartamentos se ejecuta en
<\nespecificado> STA principal
Ambos Mismo apartamento que el cliente
Gratuito Apartamento multiproceso
Neutra Apartamento neutro

 

Si el modelo de subprocesos del servidor es Apartment, el apartamento en el que se carga el servidor depende del apartamento en el que se ejecuta el cliente, como se indica en la tabla siguiente.

El cliente de apartamento se ejecuta en El servidor de apartamentos se ejecuta en
Multiproceso Host STA
Neutro (en subproceso STA) Mismo apartamento que el cliente
Neutro (en subproceso MTA) Host STA

 

COM también puede crear un apartamento multiproceso de host (MTA). Si un cliente de un apartamento de un solo subproceso solicita un servidor en proceso cuyo modelo de subprocesos es Gratis cuando no hay MTA en el proceso, COM crea un MTA de host y carga el servidor en él.

Para un servidor en proceso de 32 bits, las claves InprocHandler32, InprocServer, InprocServer32 e Insertable deben estar registradas . La entrada InprocServer solo es necesaria para la compatibilidad con versiones anteriores. Si falta, la clase sigue funcionando, pero no se puede cargar en aplicaciones de 16 bits.

Si un contenedor busca en el registro un servidor en proceso, la versión de 16 bits tiene prioridad con un contenedor de 16 bits y la versión de 32 bits tiene prioridad con un contenedor de 32 bits.

InprocServer