Clase CComAutoThreadModule
A partir de ATL 7,0, CComAutoThreadModule está obsoleto: vea Clases de módulo ATL para más detalles.
Importante |
---|
Esta clase y sus miembros no se pueden utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución. |
template<
class ThreadAllocator= CComSimpleThreadAllocator
>
class CComAutoThreadModule :
public CComModule
Parámetros
- ThreadAllocator
[in] tipo de El que administra la selección del subproceso.el valor predeterminado es CComSimpleThreadAllocator.
Members
Métodos
Selecciona un subproceso y crea un objeto en el apartamento asociado. |
|
(Estático) Dinámicamente calcula el número de subprocesos para el módulo según el número de procesadores. |
|
Crea subprocesos de módulo. |
|
Incrementa el recuento de bloqueo del módulo y en el subproceso actual. |
|
Disminuye el recuento de bloqueo del módulo y en el subproceso actual. |
miembros de datos
miembros de datos
Contiene el identificador del subproceso actual. |
|
Administra la selección del subproceso. |
|
Contiene el número de subprocesos del módulo. |
|
Administra los apartamentos de módulo. |
Comentarios
[!NOTA]
Esta clase está obsoleta, ser reemplazado por las clases derivadas de CAtlAutoThreadModule y de CAtlModule .La información que sigue es para uso con anteriores versiones ATL.
CComAutoThreadModule deriva de CComModule para implementar un servidor COM subproceso- reunida, de apartamento- modelo para EXE y servicios de Windows.CComAutoThreadModule utiliza CComApartment para administrar un apartamento para cada subproceso del módulo.
Derive el módulo de CComAutoThreadModule cuando desee crear objetos en apartamentos múltiples.También debe incluir la macro de DECLARE_CLASSFACTORY_AUTO_THREAD en la definición de clase del objeto para especificar CComClassFactoryAutoThread como el generador de la clase.
De forma predeterminada, el AppWizard ATL COM (el asistente para proyectos ATL en Visual Studio .NET) derivará el módulo de CComModule.Para utilizar CComAutoThreadModule, modifique la definición de clase.Por ejemplo:
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;
};
Jerarquía de herencia
IAtlAutoThreadModule
CComAutoThreadModule
Requisitos
encabezado: atlbase.h