korrekten
Rufen Sie dieses Makro aufgerufen, um eine exportierte Funktion in einer DLL zu schützen.
AFX_MANAGE_STATE(AFX_MODULE_STATE* pModuleState )
Parameter
- pModuleState
Ein Zeiger auf eine Struktur AFX_MODULE_STATE.
Hinweise
Wenn dieses Makro aufgerufen wird, ist der effektive pModuleState Modulzustand für den Rest des unmittelbaren enthaltenden Bereichs.Nach dem Lassen des Bereichs, wird der vorherige effektive Modulzustand automatisch wiederhergestellt.
Die Struktur enthält AFX_MODULE_STATE globalen Daten für das Modul, d. h., der den Teil des Modulzustandes gedrückt oder eingebunden wird.
Standardmäßig verwendet MFC das Ressourcenhandle der Hauptanwendung, die Ressourcenvorlage zu laden.Wenn Sie eine exportierte Funktion in einer DLL enthalten, z. B. ein, das ein Dialogfeld in der DLL auslöst, wird diese Vorlage tatsächlich im DLL-Modul gespeichert.Sie müssen den Modulzustand wechseln, damit das richtige Handle verwendet werden kann.Hierzu können Sie den folgenden Code am Anfang der Funktion hinzugefügt werden:
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
Dieses lagert den Modulzustand mit dem Zustand, der von AfxGetStaticModuleState bis zum Ende des aktuellen Bereichs zurückgegeben wurde.
Weitere Informationen über Modulzustände und MFC finden Sie unter "Verwalten von Zustandsdaten von MFC-Modulen" in Die neue Dokumente, Windows und Ansichten erstellen und Technischer Hinweis 58.
Hinweis |
---|
Bei MFC einem Aktivierungskontext für eine Assembly erstellt, verwendet er AfxWinInit, um den Kontext und AFX_MANAGE_STATE zu erstellen, um es zu aktivieren und zu deaktivieren.Beachten Sie außerdem, dass AFX_MANAGE_STATE für statischen MFC-Bibliotheken aktiviert ist, sowie MFC-DLL, um MFC-Code zu ermöglichen, um das richtige Aktivierungskontext auszuführen, der vom Benutzer ausgewählt wurde. DLLsWeitere Informationen finden Sie unter Unterstützung für Aktivierungs-Kontexte im MFC-Modulzustand. |
Anforderungen
Header: afxstat_.h