Module (clase)
Representa una colección de objetos relacionados.
Sintaxis
template<ModuleType moduleType>
class Module;
template<>
class Module<InProc> : public Details::ModuleBase;
template<>
class Module<OutOfProc> : public Module<InProc>;
Parámetros
moduleType
Combinación de uno o varios valores de enumeración ModuleType.
Miembros
Clases protegidas
Nombre | Descripción |
---|---|
Module::GenericReleaseNotifier | Invoca un controlador de eventos cuando se libera el último objeto del módulo actual. El controlador de eventos lo especifica una expresión lambda, una función o un puntero a función. |
Module::MethodReleaseNotifier | Invoca un controlador de eventos cuando se libera el último objeto del módulo actual. El controlador de eventos se especifica mediante un objeto y su miembro de puntero a método. |
Module::ReleaseNotifier | Invoca a un controlador de eventos cuando se libera el último objeto de un módulo. |
Constructores públicos
Nombre | Descripción |
---|---|
Module::~Module | Desinicializa la instancia actual de la clase Module . |
Constructores protegidos
Nombre | Descripción |
---|---|
Module::Module | Inicializa una nueva instancia de la clase Module . |
Métodos públicos
Nombre | Descripción |
---|---|
Module::Create | Crea una instancia de un módulo. |
Module::DecrementObjectCount | Reduce el número de objetos a los que el módulo realiza un seguimiento. |
Module::GetActivationFactory | Obtiene un generador de activación para el módulo. |
Module::GetClassObject | Recupera una caché de generadores de clases. |
Module::GetModule | Crea una instancia de un módulo. |
Module::GetObjectCount | Recupera el número de objetos administrados por este módulo. |
Module::IncrementObjectCount | Aumenta el número de objetos a los que el módulo realiza un seguimiento. |
Module::RegisterCOMObject | Registra uno o varios objetos COM para que otras aplicaciones puedan conectarse a ellos. |
Module::RegisterObjects | Registra objetos de COM o Windows Runtime para que otras aplicaciones puedan conectarse a ellos. |
Module::RegisterWinRTObject | Registra uno o varios objetos Windows Runtime para que otras aplicaciones puedan conectarse a ellos. |
Module::Terminate | Hace que se cierren todos los generadores de los que el módulo ha creado instancias. |
Module::UnregisterCOMObject | Anula el registro de uno o varios objetos COM, lo que impide que otras aplicaciones se conecten a ellos. |
Module::UnregisterObjects | Anula el registro de los objetos del módulo especificado para que otras aplicaciones no puedan conectarse a ellos. |
Module::UnregisterWinRTObject | Anula el registro de uno o varios objetos Windows Runtime para que otras aplicaciones no puedan conectarse a ellos. |
Métodos protegidos
Nombre | Descripción |
---|---|
Module::Create | Crea una instancia de un módulo. |
Miembros de datos protegidos
Nombre | Descripción |
---|---|
Module::objectCount_ | Realiza un seguimiento del número de clases que se han creado con la función Make. |
Module::releaseNotifier_ | Contiene un puntero a un objeto ReleaseNotifier . |
Macros
Nombre | Descripción |
---|---|
ActiveableClass | Rellena una caché interna que contiene un generador que puede crear una instancia de la clase especificada. Esta macro especifica los parámetros predeterminados de generador y identificador de grupo. |
ActiveableClassWithFactory | Rellena una caché interna que contiene un generador que puede crear una instancia de la clase especificada. Esta macro permite especificar un parámetro de generador determinado. |
ActiveableClassWithFactoryEx | Rellena una caché interna que contiene un generador que puede crear una instancia de la clase especificada. Esta macro permite especificar parámetros de generador e identificador de grupo determinados. |
Jerarquía de herencia
ModuleBase
Module
Module
Requisitos
Encabezado: module.h
Espacio de nombres: Microsoft::WRL
Module::~Module
Desinicializa la instancia actual de la clase Module
.
virtual ~Module();
Module::Create
Crea una instancia de un módulo.
WRL_NOTHROW static Module& Create();
template<typename T>
WRL_NOTHROW static Module& Create(
T callback
);
template<typename T>
WRL_NOTHROW static Module& Create(
_In_ T* object,
_In_ void (T::* method)()
);
Parámetros
T
Tipo de módulo.
callback
Se llama cuando se libera el último objeto de instancia del módulo.
object
Los parámetros object y method se usan en combinación. Apunta al último objeto de instancia cuando se libera el último objeto de instancia del módulo.
method
Los parámetros object y method se usan en combinación. Apunta al método del último objeto de instancia cuando se libera el último objeto de instancia del módulo.
Valor devuelto
Referencia al módulo.
Module::DecrementObjectCount
Reduce el número de objetos a los que el módulo realiza un seguimiento.
virtual long DecrementObjectCount();
Valor devuelto
Recuento antes de la operación de reducción.
Module::GetActivationFactory
Obtiene un generador de activación para el módulo.
WRL_NOTHROW HRESULT GetActivationFactory(
_In_ HSTRING pActivatibleClassId,
_Deref_out_ IActivationFactory **ppIFactory,
wchar_t* serverName = nullptr
);
Parámetros
pActivatibleClassId
Identificador de interfaz de una clase en tiempo de ejecución.
ppIFactory
IActivationFactory de la clase en tiempo de ejecución especificada.
serverName
Nombre de un subconjunto de generadores de clases del módulo actual. Especifique el nombre del servidor usado en la macro ActivatableClassWithFactoryEx o especifique nullptr
para obtener el nombre de servidor predeterminado.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, el HRESULT devuelto por GetActivationFactory.
Module::GetClassObject
Recupera una caché de generadores de clases.
HRESULT GetClassObject(
REFCLSID clsid,
REFIID riid,
_Deref_out_ void **ppv,
wchar_t* serverName = nullptr
);
Parámetros
clsid
Identificador de clase.
riid
Identificador de interfaz que se solicita.
ppv
Puntero al objeto devuelto.
serverName
El nombre del servidor especificado en las macros ActivatableClassWithFactory
, ActivatableClassWithFactoryEx
o ActivatableClass
, o en nullptr
para obtener el nombre de servidor predeterminado.
Valor devuelto
Comentarios
Use este método solo para COM, no para Windows Runtime. Este método expone solo métodos IClassFactory
.
Module::GetModule
Crea una instancia de un módulo.
static Module& GetModule();
WRL_NOTHROW static Module& GetModule();
Valor devuelto
Referencia a un módulo.
Module::GetObjectCount
Recupera el número de objetos administrados por este módulo.
virtual long GetObjectCount() const;
Valor devuelto
El número actual de objetos que administra este módulo.
Module::IncrementObjectCount
Aumenta el número de objetos a los que el módulo realiza un seguimiento.
virtual long IncrementObjectCount();
Valor devuelto
Recuento antes de la operación de aumento.
Module::Module
Inicializa una nueva instancia de la clase Module
.
Module();
Comentarios
Este constructor está protegido y no se le puede llamar a con la palabra clave new
. En su lugar, llame a Module::GetModule o Module::Create.
Module::objectCount_
Realiza un seguimiento del número de clases que se han creado con la función Make.
volatile long objectCount_;
Module::RegisterCOMObject
Registra uno o varios objetos COM para que otras aplicaciones puedan conectarse a ellos.
WRL_NOTHROW virtual HRESULT RegisterCOMObject(
const wchar_t* serverName,
IID* clsids,
IClassFactory** factories,
DWORD* cookies,
unsigned int count);
Parámetros
serverName
Nombre completo de un servidor.
clsids
Matriz de los CLSID que se va a registrar.
factories
Matriz de interfaces IUnknown de los objetos de clase cuya disponibilidad se publica.
cookies
Cuando se completa la operación, una matriz de punteros a valores que identifican los objetos de clase registrados. Estos valores se usan más adelante para revocar el registro.
count
Número de CLSID que se van a registrar.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, un HRESULT, como CO_E_OBJISREG que indica el motivo por el que se produjo un error en la operación.
Comentarios
Los objetos COM se registran con el enumerador CLSCTX_LOCAL_SERVER de la enumeración CLSCTX.
El tipo de conexión a los objetos registrados se especifica mediante una combinación del parámetro de plantilla comflag actual y el enumerador REGCLS_SUSPENDED de la enumeración REGCLS.
Module::RegisterObjects
Registra objetos de COM o Windows Runtime para que otras aplicaciones puedan conectarse a ellos.
HRESULT RegisterObjects(
ModuleBase* module,
const wchar_t* serverName);
Parámetros
module
Matriz de objetos de COM o Windows Runtime.
serverName
Nombre del servidor que creó los objetos.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, un HRESULT que indica el motivo por el que no se realizó la operación.
Module::RegisterWinRTObject
Registra uno o varios objetos Windows Runtime para que otras aplicaciones puedan conectarse a ellos.
HRESULT RegisterWinRTObject(const wchar_t* serverName,
wchar_t** activatableClassIds,
WINRT_REGISTRATION_COOKIE* cookie,
unsigned int count)
Parámetros
serverName
Nombre que especifica un subconjunto de objetos afectados por esta operación.
activatableClassIds
Matriz de CLSID activables que se van a registrar.
cookie
Valor que identifica los objetos de clase registrados. Este valor se usa más adelante para revocar el registro.
count
Número de objetos que se van a registrar.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, un HRESULT de error, como CO_E_OBJISREG, que indica el motivo por el que se produjo un error en la operación.
Module::releaseNotifier_
Contiene un puntero a un objeto ReleaseNotifier
.
ReleaseNotifier *releaseNotifier_;
Module::Terminate
Hace que se cierren todos los generadores de los que el módulo ha creado instancias.
void Terminate();
Comentarios
Libera los generadores en la caché.
Module::UnregisterCOMObject
Anula el registro de uno o varios objetos COM, lo que impide que otras aplicaciones se conecten a ellos.
virtual HRESULT UnregisterCOMObject(
const wchar_t* serverName,
DWORD* cookies,
unsigned int count
Parámetros
serverName
(Sin usar)
cookies
Matriz de punteros a valores que identifican los objetos de clase cuyo registro se va a anular. La matriz se creó mediante el método RegisterCOMObject.
count
Número de clases cuyo registro se va a anular.
Valor devuelto
S_OK si esta operación es correcta; de lo contrario, un HRESULT de error que indica el motivo del error de la operación.
Module::UnregisterObjects
Anula el registro de los objetos del módulo especificado para que otras aplicaciones no puedan conectarse a ellos.
HRESULT UnregisterObjects(
ModuleBase* module,
const wchar_t* serverName);
Parámetros
module
Puntero a un módulo.
serverName
Nombre aplicable que especifica un subconjunto de objetos afectados por esta operación.
Valor devuelto
S_OK si esta operación es correcta; de lo contrario, un HRESULT de error que indica el motivo del error de esta operación.
Module::UnregisterWinRTObject
Anula el registro de uno o varios objetos Windows Runtime para que otras aplicaciones no puedan conectarse a ellos.
virtual HRESULT UnregisterWinRTObject(
unsigned int,
_Inout_ WINRT_REGISTRATION_COOKIE* cookie
);
Parámetros
cookie
Puntero a un valor que identifica el objeto de clase cuyo registro se va a revocar.