ATL e o disponível encadeado empacotador
Página de atributos do ATL Simple objeto assistente fornece uma opção que permite que sua classe agregar o empacotador segmentado disponível (FTM).
O assistente gera código para criar uma instância do empacotador de thread disponível no FinalConstruct e solte essa instância em FinalRelease. A COM_INTERFACE_ENTRY_AGGREGATE macro será automaticamente adicionada ao MAP de COM para certificar-se de que QueryInterface solicitações para IMarshal são manipuladas pelo empacotador de thread disponível.
O empacotador segmentado disponível permite acesso direto a interfaces no seu objeto de qualquer segmento no mesmo processo, acelerar chamadas apartment cruzada.Esta opção destina-se a classes que usam o modelo de threading.
Ao usar essa opção, classes devem assumir a responsabilidade para a segurança do thread de seus dados.Além disso, objetos que agregam o empacotador segmentado disponível e precisam usar ponteiros de interface obtidos de outros objetos deverá executar etapas adicionais para garantir que as interfaces são empacotadas corretamente.Normalmente, isso envolve armazenar os ponteiros de interface na tabela de interface global (GIT) e obter o ponteiro de GIT a cada vez que é usado.ATL fornece a classe CComGITPtr para ajudar você a usar ponteiros de interface armazenados na GIT.
Consulte também
Referência
When to Use the Global Interface Table
In-Process Server Threading Issues