CComObjectThreadModel
Ruft die entsprechenden Threadmodellmethoden, unabhängig vom Threadingmodell auf, das verwendet wird.
Syntax
#if defined( _ATL_SINGLE_THREADED )
typedef CComSingleThreadModel CComObjectThreadModel;
#elif defined( _ATL_APARTMENT_THREADED )
typedef CComSingleThreadModel CComObjectThreadModel;
#elif defined( _ATL_FREE_THREADED )
typedef CComMultiThreadModel CComObjectThreadModel;
#else
#pragma message ("No global threading model defined")
#endif
Hinweise
Je nach Threadingmodell, das von der Anwendung verwendet wird, verweist der typedef Name CComObjectThreadModel entweder CComSingleThreadModel oder CComMultiThreadModel.Diese Klassen geben zusätzliche typedef Namen an, um eine Klasse des kritischen Abschnitts zu verweisen.
Hinweis
CComObjectThreadModel verweist nicht Klasse CComMultiThreadModelNoCS.
Verwenden Sie CComObjectThreadModel gibt vom Angeben einer bestimmten Threadingmodellklasse frei.Unabhängig vom Threadingmodell, das verwendet wird, werden die entsprechenden Methoden aufgerufen.
Zusätzlich zu CComObjectThreadModel ATL typedef gibt den Namen CComGlobalsThreadModel an.Die Klasse, die von jedes typedef verwiesen wird, hängt vom verwendeten Threadingmodell, wie in der folgenden Tabelle aus:
typedef |
Einzelnes Threading |
Apartmentthreading |
Freethreading |
---|---|---|---|
CComObjectThreadModel |
S |
S |
M |
CComGlobalsThreadModel |
S |
M |
M |
S=CComSingleThreadModel; M=CComMultiThreadModel
Verwendung CComObjectThreadModel innerhalb einer einzelnen Objektklasse.Verwendung CComGlobalsThreadModel in einem Objekt, das entweder dem Programm global oder verfügbar ist, wenn Sie Modulressourcen über mehrere Threads schützen möchten.
Anforderungen
Header: atlbase.h