Condividi tramite


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

Name 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

Name Descrizione
Module::~Module Deinitialize l'istanza corrente della Module classe .

Costruttori protetti

Name Descrizione
Module::Module Inizializza una nuova istanza della classe Module.

Metodi pubblici

Name 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

Name Descrizione
Module::Create Crea un'istanza di un modulo.

Membri dati protetti

Name Descrizione
Module::objectCount_ Tiene traccia del numero di classi create con la funzione Make .
Module::releaseNotifier_ Contiene un puntatore a un ReleaseNotifier oggetto .

Macro

Name 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.

Callback
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 ActivatableClassWithFactorymacro , ActivatableClassWithFactoryExo 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.

Clsid
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_edizione Standard RVER 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.

Cookie
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

Cookie
Puntatore a un valore che identifica l'oggetto classe la cui registrazione deve essere revocata.