Partager via


Prise en charge des contextes d'activation dans l'état du module MFC

MFC crée un contexte d'activation à l'aide d'une ressource de manifeste fournies par le module d'utilisateur.Pour plus d'informations sur la façon dont les contextes d'activation sont créées, consultez les rubriques suivantes :

Remarques

En consultant ces rubriques d' Kit de développement logiciel Windows , notez que le mécanisme de contexte d'activation MFC ressemble au contexte d'activation d' Kit de développement logiciel Windows sauf que MFC n'utilise pas l'API de contexte d'activation d' Kit de développement logiciel Windows .

Le contexte d'activation s'exécute dans les applications MFC, les DLL d'utilisateur, et les DLL d'extension des façons suivantes :

  • Les applications MFC utilisent l'ID de ressource 1 pour la ressource de manifeste.Dans ce cas, MFC ne crée pas son propre contexte d'activation, mais utilise le contexte par défaut de l'application.

  • Les DLL d'utilisateur MFC utilisent l'ID de ressource 2 pour la ressource de manifeste.Ici, MFC crée un contexte d'activation pour chaque DLL d'utilisateur, les diverses DLL d'utilisateur peuvent utiliser des versions différentes des mêmes bibliothèques (par exemple, la bibliothèque de contrôles communs).

  • Les DLL d'extension MFC s'appuient sur leurs applications d'hébergement ou DLL d'utilisateur de définir leur contexte d'activation.

Bien que l'état de contexte d'activation peut être modifié à l'aide de les processus décrits sous Using the Activation Context API, à l'aide de le mécanisme de contexte d'activation MFC peut être utile lorsque vous développez des architectures plug-in DLL-basées où il n'est pas facile (ou impossible) de basculer manuellement l'état d'activation avant et après les appels de personne aux connexions externes.

Le contexte d'activation est créé dans AfxWinInit.Il est détruit dans le destructeur d' AFX_MODULE_STATE .Un handle de contexte d'activation est conservé en AFX_MODULE_STATE.(AFX_MODULE_STATE est décrit dans AfxGetStaticModuleState.)

La macro d' AFX_MANAGE_STATE active et désactive le contexte d'activation.AFX_MANAGE_STATE est activé pour les bibliothèques MFC statiques, ainsi que les DLL MFC, pour permettre au code MFC pour exécuter dans le contexte d'activation approprié sélectionné par la DLL d'utilisateur.

Voir aussi

Référence

Activation Contexts

Application Manifests

Assembly Manifests

AfxWinInit

AfxGetStaticModuleState

AFX_MANAGE_STATE