Udostępnij za pośrednictwem


Obsługa kontekstów aktywacji w stanie modułu MFC

MFC tworzy kontekstu aktywacji przy użyciu zasobu manifestu modu³u użytkownika.Aby uzyskać więcej informacji dotyczących tworzenia kontekst aktywacji zobacz następujące tematy:

Uwagi

Podczas czytania tych Windows SDK tematy, należy zauważyć, że podobny mechanizm kontekstu aktywacji MFC Windows SDK kontekstu aktywacji, chyba że MFC nie korzysta z Windows SDK API kontekstu aktywacji.

Kontekst aktywacji działa w aplikacjach MFC, bibliotek DLL użytkownika i biblioteki DLL rozszerzenia w następujący sposób:

  • Aplikacje MFC używać zasobów ID 1 dla ich zasobu manifestu.W tym przypadku urządzenie MFC nie tworzy własny kontekst aktywacji, ale używa domyślnego kontekstu aplikacji.

  • Użytkownik MFC DLL użyć zasobu ID 2 dla ich zasobu manifestu.W tym miejscu MFC tworzy kontekstu aktywacji dla każdej biblioteki DLL użytkownika, więc innego użytkownika bibliotek DLL za pomocą różnych wersji samej biblioteki (na przykład biblioteka formanty standardowe).

  • Biblioteki DLL rozszerzenia MFC polegać na ich hostingu aplikacji lub użytkownikowi biblioteki DLL ustalenie ich kontekstu aktywacji.

Chociaż Państwo kontekstu aktywacji można modyfikować za pomocą procesów opisanych w obszarze Using the Activation Context API, przy użyciu mechanizmu MFC kontekstu aktywacji może być przydatne podczas tworzenia opartych na bibliotekach DLL architektur dodatek typu plug-in, gdzie nie jest łatwe (lub nie jest to możliwe) do ręcznie przełączać stan aktywności przed i po poszczególnych wywołań zewnętrznych wtyczek.

Kontekst aktywacji jest tworzony w AfxWinInit.Został zniszczony w AFX_MODULE_STATE destruktora.Dojście kontekstu aktywacji są przechowywane w AFX_MODULE_STATE. (AFX_MODULE_STATE is described in AfxGetStaticModuleState.)

AFX_MANAGE_STATE Makro włącza i wyłącza kontekstu aktywacji.AFX_MANAGE_STATEjest włączona dla statycznych bibliotek MFC, a także biblioteki MFC dll, aby umożliwić MFC kod jest wykonywany w kontekście właściwej aktywacji wybranych przez użytkownika pliku DLL.

Zobacz też

Informacje

Activation Contexts

Application Manifests

Assembly Manifests

AfxWinInit

AfxGetStaticModuleState

AFX_MANAGE_STATE