InprocServer32
Inscrit un serveur in-process 32 bits et spécifie le modèle de thread de l’appartement dans lequel le serveur peut s’exécuter.
Entrée du Registre
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
{CLSID}
InprocServer32
(Default) = path
ThreadingModel = value
Remarques
threadingModel est une valeur REG_SZ que le modèle de threading spécifie. Les valeurs possibles sont indiquées dans le tableau suivant.
Valeur | Description |
---|---|
Appartement | Appartement à thread unique |
Les deux | Appartement monothread ou multithread |
Libre | Appartement multithread |
Neutre | Appartement neutre |
Vous devez utiliser la même valeur pour chaque objet fourni par le serveur in-process.
Si threadingModel n’est pas présent ou n’est pas défini sur une valeur, le serveur est chargé dans le premier appartement initialisé dans le processus. Cet appartement est parfois appelé appartement monothread principal (STA). Si le premier STA d’un processus est initialisé par COM, plutôt que par un appel explicite à CoInitialize ou CoInitializeEx, il est appelé STA hôte. Par exemple, COM crée une sta hôte si un serveur in-process à charger nécessite une sta, mais qu’il n’existe actuellement aucune sta dans le processus.
Dans la mesure du possible, le serveur in-process est chargé dans le même appartement que le client qui le charge. Si le modèle de thread de l’appartement client n’est pas compatible avec le modèle spécifié, le serveur est chargé comme indiqué dans le tableau suivant.
Modèle de thread de serveur | Le serveur d’appartements est exécuté dans |
---|---|
<\not spécifié> | STA principal |
Les deux | Même appartement que le client |
Libre | Appartement multithread |
Neutre | Appartement neutre |
Si le modèle de thread du serveur est Appartement, l’appartement dans lequel le serveur est chargé dépend de l’appartement dans lequel le client est en cours d’exécution, comme indiqué dans le tableau suivant.
Le client d’appartement est exécuté dans | Le serveur d’appartements est exécuté dans |
---|---|
Multithread | Hôte STA |
Neutre (sur le thread STA) | Même appartement que le client |
Neutre (sur le thread MTA) | Hôte STA |
COM peut également créer un appartement multithread hôte (MTA). Si un client dans un appartement à thread unique demande un serveur in-process dont le modèle de threading est Gratuit lorsqu’il n’y a pas d’assistant MTA dans le processus, COM crée un MTA hôte et charge le serveur dans celui-ci.
Pour un serveur in-process 32 bits, leInprocHandler32, InprocServer, InprocServer32et clés de insère doivent être inscrites. L’entrée inprocServer n’est nécessaire que pour la compatibilité descendante. S’il est manquant, la classe fonctionne toujours, mais elle ne peut pas être chargée dans des applications 16 bits.
Si un conteneur recherche le Registre pour un serveur in-process, la version 16 bits a la priorité avec un conteneur 16 bits et la version 32 bits a la priorité avec un conteneur 32 bits.
Rubriques connexes