Condividi tramite


Classe CComAutoThreadModule

A partire da ATL 7,0, CComAutoThreadModule è obsoleto: vedere Classi del modulo ATL per ulteriori informazioni.

Nota importanteImportante

Questa classe e i relativi membri non possono essere utilizzati nelle applicazioni eseguite in Windows Runtime.

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

Parametri

Membri

1ty34ed4.collapse_all(it-it,VS.110).gifMetodi

CreateInstance

Selezionare un thread e viene quindi creato un oggetto in apartment collegato.

GetDefaultThreads

(Proprietà statica) calcola dinamicamente il numero di thread per il modulo in base al numero di processori.

L'implementazione

Crea i thread di modulo.

Blocca

Incrementa il conteggio dei blocchi sul modulo e nel thread corrente.

Sblocca

Decrementa il conteggio dei blocchi sul modulo e nel thread corrente.

1ty34ed4.collapse_all(it-it,VS.110).gifMembri di dati

Membri di dati

dwThreadID

Contiene l'identificatore del thread corrente.

m_Allocator

Gestisce la selezione del thread.

m_nThreads

Contiene il numero di thread nel modulo.

m_pApartments

Gestisce gli apartment di modulo.

Note

[!NOTA]

Questa classe è obsoleta, essendo sostituendo le classi derivate CAtlModule e CAtlAutoThreadModule.Le informazioni che seguono forniscono con le versioni precedenti ATL.

CComAutoThreadModule deriva da CComModule per implementare un server di apartment- modello e di raccolte COM per i file EXE e i servizi Windows.CComAutoThreadModule utilizza CComApartment per gestire un apartment per ogni thread nel modulo.

Derivare il form da CComAutoThreadModule quando si desidera creare oggetti in più apartment.È necessario includere anche la macro DECLARE_CLASSFACTORY_AUTO_THREAD nella definizione di classe dell'oggetto per specificare CComClassFactoryAutoThread come class factory.

Per impostazione predefinita, COM ATL AppWizard (la creazione guidata progetto ATL in Visual Studio .NET). derivare il form da CComModule.Per utilizzare CComAutoThreadModule, modificare la definizione della classe.Di seguito è riportato un esempio:

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;
};

Gerarchia di ereditarietà

_ATL_MODULE

CAtlModule

IAtlAutoThreadModule

CAtlModuleT

CAtlAutoThreadModuleT

CComModule

CComAutoThreadModule

Requisiti

Header: atlbase.h

Vedere anche

Riferimenti

Classi del modulo ATL

Altre risorse

I cenni preliminari sulle classi ATL