Compartilhar via


Classe de CComAutoThreadModule

Até a data de ATL 7,0, CComAutoThreadModule é obsoleto: consulte Classes de módulo de ATL para obter mais detalhes.

Observação importanteImportante

Essa classe e seus membros não podem ser usados em aplicativos executados em tempo de execução do windows.

template<
class ThreadAllocator= CComSimpleThreadAllocator 
>
class CComAutoThreadModule :
public CComModule

Parâmetros

Membros

1ty34ed4.collapse_all(pt-br,VS.110).gifMétodos

CreateInstance

Seleciona um segmento e então cria um objeto no apartment associado.

GetDefaultThreads

(Static) Dinamicamente calcula o número de segmentos para o módulo com base no número de processadores.

Init

Cria segmentos de módulo.

Bloquear

Sai a contagem de bloqueio no módulo e no segmento atual.

Unlock

Diminui a contagem de bloqueio no módulo e no segmento atual.

1ty34ed4.collapse_all(pt-br,VS.110).gifMembros de dados

Membros de dados

dwThreadID

Contém o identificador do segmento atual.

m_Allocator

Gerencia a seleção de segmento.

m_nThreads

Contém o número de segmentos no módulo.

m_pApartments

Gerencia a construção de módulo.

Comentários

ObservaçãoObservação

Essa classe é obsoleta, sendo substituído por classes derivadas de CAtlAutoThreadModule e de CAtlModule .Informações que segue é para uso com versões mais antigas de ATL.

CComAutoThreadModule deriva de CComModule para implementar um servidor com agrupados, de apartamento- modelo COM para EXEs e Serviços do Windows.CComAutoThreadModule usa CComApartment para gerenciar um compartimento para cada segmento no módulo.

Derive o módulo de CComAutoThreadModule quando você deseja criar objetos em vários construção.Você também deve incluir a macro de DECLARE_CLASSFACTORY_AUTO_THREAD em sua definição de classe de objeto para especificar CComClassFactoryAutoThread como o factory da classe.

Por padrão, o ATL COM AppWizard (assistente de projeto de ATL no Visual Studio .NET) derivado seu módulo de CComModule.Para usar CComAutoThreadModule, modifique a definição de classe.Por exemplo:

class CMyModule : 
public CComAutoThreadModule<CComSimpleThreadAllocator>
{
public:
   LONG Unlock()
   {
      LONG l = CComAutoThreadModule<CComSimpleThreadAllocator>::Unlock();
      if (l == 0)
         PostThreadMessage(dwThreadID, WM_QUIT, 0, 0);
      return l;
   }

   DWORD dwThreadID;
};

Hierarquia de herança

_ATL_MODULE

CAtlModule

IAtlAutoThreadModule

CAtlModuleT

CAtlAutoThreadModuleT

CComModule

CComAutoThreadModule

Requisitos

Cabeçalho: atlbase.h

Consulte também

Referência

Classes de módulo de ATL

Outros recursos

Visão geral da classe de ATL