Suporte para contextos de ativação no estado do módulo MFC
O MFC cria um contexto de ativação que usa um recurso de manifesto fornecido pelo módulo do usuário. Para obter mais informações sobre como os contextos de ativação são criados, consulte os seguintes tópicos:
Comentários
Ao ler esses tópicos de Windows SDK , observe que o mecanismo de contexto de ativação MFC se assemelha ao contexto de ativação de Windows SDK exceto que o MFC não usa o contexto API de ativação de Windows SDK .
O contexto de ativação funciona em aplicativos MFC, na DLL do usuário, e na DLL da extensão das seguintes maneiras:
Os aplicativos MFC usam a ID do recurso 1 para seu recurso de manifesto. Nesse caso, o MFC não cria seu próprio contexto de ativação, mas usa o contexto padrão do aplicativo.
As dlls de usuário de MFC usam a ID do recurso 2 para seu recurso de manifesto. Aqui, o MFC cria um contexto de ativação para cada DLL do usuário, assim que as dlls de usuário diferentes podem usar versões diferentes das bibliotecas (por exemplo, a biblioteca de controles comuns).
Dlls de extensão MFC se baseiam em seus aplicativos ou DLL hospedando do usuário estabelecer seu contexto de ativação.
Embora o estado de contexto de ativação pode ser alterado usando os processos descritos em Using the Activation Context API, usar o mecanismo de contexto de ativação MFC pode ser útil ao desenvolver as arquiteturas de plug-in DLL- baseadas em que não é fácil () ou não possível alternar manualmente o estado de ativação antes e depois de chamadas individuais para plug-ins externos.
O contexto de ativação é criado em AfxWinInit. É destruído em destruidor de AFX_MODULE_STATE . Um identificador de contexto de ativação é mantida em AFX_MODULE_STATE. (AFX_MODULE_STATE é descrito em AfxGetStaticModuleState.)
A macro de AFX_MANAGE_STATE ativa e desativa o contexto de ativação. AFX_MANAGE_STATE é habilitado para bibliotecas estáticos MFC, bem como DLL MFC, para permitir que o código MFC é executado no contexto de ativação selecionado pela DLL do usuário.