AFX_MANAGE_STATE
Appelez cette macro pour protéger une fonction exportée dans une DLL.
AFX_MANAGE_STATE(AFX_MODULE_STATE* pModuleState )
Paramètres
- pModuleState
Un pointeur vers une structure d' AFX_MODULE_STATE .
Notes
Lorsque cette macro est appelée, pModuleState est l'état du module efficace pour le reste de la portée contenante immédiate.En cas de laisser la portée, l'état du module efficace précédent est automatiquement restaurée.
La structure d' AFX_MODULE_STATE contient des données globales pour le module, c. autrement dit., la partie de l'état du module qui est enfoncé ou dépilé.
Par défaut, MFC utilise le handle de la ressource de l'application principale de charger le modèle de ressource.Si vous avez une fonction exportée dans une DLL, tel qu'un qui lance une boîte de dialogue dans la DLL, ce modèle est stocké en fait dans le module DLL.Vous devez basculer l'état du module pour que le handle approprié soit utilisé.Vous pouvez le faire en ajoutant le code suivant au début de la fonction :
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
Cela fait passer l'état du module en cours avec l'état retourné d' AfxGetStaticModuleState jusqu'à la fin de la portée actuelle.
Pour plus d'informations sur les états du module et MFC, consultez gestion des données d'état des modules MFC » dans Créer de nouveaux documents, windows, et vues et note technique 58.
[!REMARQUE]
Lorsque MFC crée un contexte d'activation d'un assembly, il utilise AfxWinInit pour créer le contexte et AFX_MANAGE_STATE pour l'activer et désactiver.Notez également qu' AFX_MANAGE_STATE est activé pour les bibliothèques MFC statiques, ainsi que les DLL MFC, afin de permettre au code MFC pour exécuter dans le contexte d'activation approprié sélectionné par la DLL d'utilisateur.Pour plus d'informations, consultez Prise en charge des contextes d'activation dans l'état du module MFC.
Configuration requise
en-tête : afxstat_.h