Compartilhar via


Uma DLL da MFC pode criar vários segmentos?

Exceto durante a inicialização, uma DLL do MFC podem com segurança criar vários threads desde usa sistema autônomo funções de armazenamento (TLS) local de thread Win32 sistema autônomo, por exemplo, TlsAlloc para alocar o armazenamento local de segmento.No entanto, se uma DLL da MFC usa __declspec(thread) alocar armazenamento local de thread, o aplicativo cliente deve estar vinculado implicitamente para a DLL.Se o aplicativo cliente explicitamente vinculado a DLL, a telefonar para LoadLibrary não será carregado com êxito a DLL.Para obter mais informações sobre a criação de vários segmentos dentro de DLLs do MFC, consulte o artigo do base de dados de conhecimento, "PRB: Chamar LoadLibrary() para carregar uma DLL com TLS estático"(Q118816).

Uma DLL da MFC que cria um novo thread MFC durante a inicialização irá parar quando ele for carregado por um aplicativo.Isso inclui sempre que um segmento é criado chamando AfxBeginThread ou CWinThread::CreateThread internas:

  • The InitInstance de um CWinApp-derivados do objeto em uma DLL normal.

  • Um fornecido DllMain ou RawDllMain função em uma DLL normal.

  • Um fornecido DllMain ou RawDllMain função em uma DLL de extensão.

Para obter mais informações sobre a criação de threads durante a inicialização, consulte o artigo do base de dados de conhecimento, "PRB: Não é possível criar um thread MFC durante a inicialização da DLL"(Q142243).

Consulte também

Conceitos

Perguntas freqüentes sobre a DLL