Compartilhar via


Suporte para contextos de ativação no estado de módulo do MFC

MFC cria um contexto de ativação usando um recurso de manifesto fornecido pelo módulo de 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 essas Windows SDK tópicos, observe que o mecanismo de contexto de ativação do MFC se assemelha a Windows SDK o contexto de ativação, exceto que MFC não usa o Windows SDK API de contexto de ativação.

Contexto de ativação funciona em aplicativos, DLLs de usuário e DLLs de extensão do MFC das seguintes maneiras:

  • Aplicativos MFC usam o recurso ID 1 para o recurso de manifesto.Nesse caso, a MFC não criar seu próprio contexto de ativação, mas usa o contexto de aplicativo padrão.

  • Usuário MFC DLLs usar o recurso ID 2 para o recurso de manifesto.Aqui, o MFC cria um contexto de ativação para cada DLL de usuário para que outro usuário DLLs possa usar diferentes versões das bibliotecas do mesmas (por exemplo, a biblioteca de controles comuns).

  • DLLs de extensão MFC dependem de seus aplicativos ou usuário DLLs de hospedagem para estabelecer o contexto de ativação.

Embora o estado de contexto de ativação pode ser modificado usando os processos descritos em Using the Activation Context API, usando o mecanismo de contexto de ativação do MFC pode ser úteis ao desenvolver arquiteturas de plug-in baseado em DLL onde não é fácil (ou não é possível) para alternar manualmente o estado de ativação antes e depois chamadas individuais plug-ins externos.

O contexto de ativação é criado em AfxWinInit.É destruído na AFX_MODULE_STATE destruidor.Um identificador de contexto de ativação é mantido em AFX_MODULE_STATE.(AFX_MODULE_STATE is described in AfxGetStaticModuleState.)

O AFX_MANAGE_STATE macro ativa e desativa o contexto de ativação.AFX_MANAGE_STATEestá habilitado para bibliotecas MFC estáticas, bem como DLLs do MFC, para permitir código MFC executar no contexto de ativação adequado selecionado pela DLL do usuário.

Consulte também

Referência

Activation Contexts

Application Manifests

Assembly Manifests

AfxWinInit

AfxGetStaticModuleState

AFX_MANAGE_STATE