Module (classe)
Rappresenta una raccolta di oggetti correlati.
Sintassi
template<ModuleType moduleType>
class Module;
template<>
class Module<InProc> : public Details::ModuleBase;
template<>
class Module<OutOfProc> : public Module<InProc>;
Parametri
moduleType
Combinazione di uno o più valori di enumerazione ModuleType .
Membri
Classi protette
Nome | Descrizione |
---|---|
Module::GenericReleaseNotifier | Richiama un gestore eventi quando viene rilasciato l'ultimo oggetto nel modulo corrente. Il gestore eventi viene specificato da in un oggetto lambda, functor o puntatore a funzione. |
Module::MethodReleaseNotifier | Richiama un gestore eventi quando viene rilasciato l'ultimo oggetto nel modulo corrente. Il gestore eventi viene specificato da un oggetto e dal relativo membro puntatore a un metodo. |
Module::ReleaseNotifier | Richiama un gestore eventi quando viene rilasciato l'ultimo oggetto in un modulo. |
Costruttori pubblici
Nome | Descrizione |
---|---|
Module::~Module | Deinitialize l'istanza corrente della Module classe . |
Costruttori protetti
Nome | Descrizione |
---|---|
Module::Module | Inizializza una nuova istanza della classe Module . |
Metodi pubblici
Nome | Descrizione |
---|---|
Module::Create | Crea un'istanza di un modulo. |
Module::D ecrementObjectCount | Decrementa il numero di oggetti rilevati dal modulo. |
Module::GetActivationFactory | Ottiene una factory di attivazione per il modulo. |
Module::GetClassObject | Recupera una cache di class factory. |
Module::GetModule | Crea un'istanza di un modulo. |
Module::GetObjectCount | Recupera il numero di oggetti gestiti da questo modulo. |
Module::IncrementObjectCount | Incrementa il numero di oggetti rilevati dal modulo. |
Module::RegisterCOMObject | Registra uno o più oggetti COM in modo che altre applicazioni possano connettersi. |
Module::RegisterObjects | Registra oggetti COM o Windows Runtime in modo che altre applicazioni possano connettersi. |
Module::RegisterWinRTObject | Registra uno o più oggetti Di Windows Runtime in modo che altre applicazioni possano connettersi. |
Module::Terminate | Determina l'arresto di tutte le factory create dal modulo. |
Module::UnregisterCOMObject | Annulla la registrazione di uno o più oggetti COM, che impedisce ad altre applicazioni di connettersi a tali oggetti. |
Module::UnregisterObjects | Annulla la registrazione degli oggetti nel modulo specificato in modo che altre applicazioni non possano connettersi. |
Module::UnregisterWinRTObject | Annulla la registrazione di uno o più oggetti Windows Runtime in modo che altre applicazioni non possano connettersi. |
Metodi protetti
Nome | Descrizione |
---|---|
Module::Create | Crea un'istanza di un modulo. |
Membri dati protetti
Nome | Descrizione |
---|---|
Module::objectCount_ | Tiene traccia del numero di classi create con la funzione Make . |
Module::releaseNotifier_ | Contiene un puntatore a un ReleaseNotifier oggetto . |
Macro
Nome | Descrizione |
---|---|
ActivatableClass | Popola una cache interna che contiene una factory in grado di creare un'istanza della classe specificata. Questa macro specifica i parametri predefiniti di factory e ID gruppo. |
ActivatableClassWithFactory | Popola una cache interna che contiene una factory in grado di creare un'istanza della classe specificata. Questa macro consente di specificare un determinato parametro factory. |
ActivatableClassWithFactoryEx | Popola una cache interna che contiene una factory in grado di creare un'istanza della classe specificata. Questa macro consente di specificare specifici parametri factory e ID gruppo. |
Gerarchia di ereditarietà
ModuleBase
Module
Module
Requisiti
Intestazione: module.h
Spazio dei nomi: Microsoft::WRL
Module::~Module
Deinitialize l'istanza corrente della Module
classe .
virtual ~Module();
Module::Create
Crea un'istanza di un modulo.
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)()
);
Parametri
T
Tipo di modulo.
richiamo
Chiamato quando viene rilasciato l'ultimo oggetto istanza del modulo.
object
I parametri dell'oggetto e del metodo vengono usati in combinazione. Punta all'ultimo oggetto istanza quando viene rilasciato l'ultimo oggetto dell'istanza nel modulo.
method
I parametri dell'oggetto e del metodo vengono usati in combinazione. Punta al metodo dell'ultimo oggetto istanza quando viene rilasciato l'ultimo oggetto istanza del modulo.
Valore restituito
Riferimento al modulo.
Module::D ecrementObjectCount
Decrementa il numero di oggetti rilevati dal modulo.
virtual long DecrementObjectCount();
Valore restituito
Conteggio prima dell'operazione di decremento.
Module::GetActivationFactory
Ottiene una factory di attivazione per il modulo.
WRL_NOTHROW HRESULT GetActivationFactory(
_In_ HSTRING pActivatibleClassId,
_Deref_out_ IActivationFactory **ppIFactory,
wchar_t* serverName = nullptr
);
Parametri
pActivatibleClassId
IID di una classe di runtime.
ppIFactory
IActivationFactory per la classe di runtime specificata.
serverName
Nome di un subset di class factory nel modulo corrente. Specificare il nome del server utilizzato nella macro ActivatableClassWithFactoryEx oppure specificare nullptr
per ottenere il nome del server predefinito.
Valore restituito
S_OK se ha esito positivo; in caso contrario, HRESULT restituito da GetActivationFactory.
Module::GetClassObject
Recupera una cache di class factory.
HRESULT GetClassObject(
REFCLSID clsid,
REFIID riid,
_Deref_out_ void **ppv,
wchar_t* serverName = nullptr
);
Parametri
clsid
ID classe.
riid
ID interfaccia richiesto.
ppv
Puntatore all'oggetto restituito.
serverName
Nome del server specificato nella ActivatableClassWithFactory
macro , ActivatableClassWithFactoryEx
o ActivatableClass
oppure nullptr
per ottenere il nome del server predefinito.
Valore restituito
Osservazioni:
Usa questo metodo solo per COM, non Per Windows Runtime. Questo metodo espone solo IClassFactory
i metodi.
Module::GetModule
Crea un'istanza di un modulo.
static Module& GetModule();
WRL_NOTHROW static Module& GetModule();
Valore restituito
Riferimento a un modulo.
Module::GetObjectCount
Recupera il numero di oggetti gestiti da questo modulo.
virtual long GetObjectCount() const;
Valore restituito
Numero corrente di oggetti gestiti da questo modulo.
Module::IncrementObjectCount
Incrementa il numero di oggetti rilevati dal modulo.
virtual long IncrementObjectCount();
Valore restituito
Conteggio prima dell'operazione di incremento.
Module::Module
Inizializza una nuova istanza della classe Module
.
Module();
Osservazioni:
Questo costruttore è protetto e non può essere chiamato con la new
parola chiave . Chiamare invece Module::GetModule o Module::Create.
Module::objectCount_
Tiene traccia del numero di classi create con la funzione Make .
volatile long objectCount_;
Module::RegisterCOMObject
Registra uno o più oggetti COM in modo che altre applicazioni possano connettersi.
WRL_NOTHROW virtual HRESULT RegisterCOMObject(
const wchar_t* serverName,
IID* clsids,
IClassFactory** factories,
DWORD* cookies,
unsigned int count);
Parametri
serverName
Nome completo di un server.
clsids
Matrice di CLSID da registrare.
fabbriche
Matrice di interfacce IUnknown degli oggetti classe la cui disponibilità viene pubblicata.
Biscotti
Al termine dell'operazione, una matrice di puntatori ai valori che identificano gli oggetti classe registrati. Questi valori vengono usati successivamente per revocare la registrazione.
count
Numero di CLSID da registrare.
Valore restituito
S_OK se ha esito positivo; in caso contrario, un HRESULT, ad esempio CO_E_OBJISREG che indica il motivo per cui l'operazione non è riuscita.
Osservazioni:
Gli oggetti COM vengono registrati con l'enumeratore CLSCTX_LOCAL_SERVER dell'enumerazione CLSCTX.
Il tipo di connessione agli oggetti registrati viene specificato da una combinazione del parametro del modello comflag corrente e dell'enumeratore REGCLS_SUSPENDED dell'enumerazione REGCLS.
Module::RegisterObjects
Registra oggetti COM o Windows Runtime in modo che altre applicazioni possano connettersi.
HRESULT RegisterObjects(
ModuleBase* module,
const wchar_t* serverName);
Parametri
module
Matrice di oggetti COM o Windows Runtime.
serverName
Nome del server che ha creato gli oggetti.
Valore restituito
S_OK se ha esito positivo; in caso contrario, hresult che indica il motivo per cui l'operazione non è riuscita.
Module::RegisterWinRTObject
Registra uno o più oggetti Di Windows Runtime in modo che altre applicazioni possano connettersi.
HRESULT RegisterWinRTObject(const wchar_t* serverName,
wchar_t** activatableClassIds,
WINRT_REGISTRATION_COOKIE* cookie,
unsigned int count)
Parametri
serverName
Nome che specifica un subset di oggetti interessati da questa operazione.
activatableClassIds
Matrice di CLSID attivabili da registrare.
biscotto
Valore che identifica gli oggetti classe registrati. Questo valore viene usato in un secondo momento per revocare la registrazione.
count
Numero di oggetti da registrare.
Valore restituito
S_OK se ha esito positivo; in caso contrario, un errore HRESULT, ad esempio CO_E_OBJISREG che indica il motivo per cui l'operazione non è riuscita.
Module::releaseNotifier_
Contiene un puntatore a un ReleaseNotifier
oggetto .
ReleaseNotifier *releaseNotifier_;
Module::Terminate
Determina l'arresto di tutte le factory create dal modulo.
void Terminate();
Osservazioni:
Rilascia le factory nella cache.
Module::UnregisterCOMObject
Annulla la registrazione di uno o più oggetti COM, che impedisce ad altre applicazioni di connettersi a tali oggetti.
virtual HRESULT UnregisterCOMObject(
const wchar_t* serverName,
DWORD* cookies,
unsigned int count
Parametri
serverName
(inutilizzato)
Biscotti
Matrice di puntatori ai valori che identificano gli oggetti classe da annullare. La matrice è stata creata dal metodo RegisterCOMObject .
count
Numero di classi da annullare la registrazione.
Valore restituito
S_OK se l'operazione ha esito positivo; in caso contrario, un errore HRESULT che indica il motivo per cui l'operazione non è riuscita.
Module::UnregisterObjects
Annulla la registrazione degli oggetti nel modulo specificato in modo che altre applicazioni non possano connettersi.
HRESULT UnregisterObjects(
ModuleBase* module,
const wchar_t* serverName);
Parametri
module
Puntatore a un modulo.
serverName
Nome qualificato che specifica un subset di oggetti interessati da questa operazione.
Valore restituito
S_OK se l'operazione ha esito positivo; in caso contrario, un errore HRESULT che indica il motivo per cui l'operazione non è riuscita.
Module::UnregisterWinRTObject
Annulla la registrazione di uno o più oggetti Windows Runtime in modo che altre applicazioni non possano connettersi.
virtual HRESULT UnregisterWinRTObject(
unsigned int,
_Inout_ WINRT_REGISTRATION_COOKIE* cookie
);
Parametri
biscotto
Puntatore a un valore che identifica l'oggetto classe la cui registrazione deve essere revocata.