Module (classe)

Représente une collection d’objets connexes.

Syntaxe

template<ModuleType moduleType>
class Module;

template<>
class Module<InProc> : public Details::ModuleBase;

template<>
class Module<OutOfProc> : public Module<InProc>;

Paramètres

moduleType
Combinaison d’une ou plusieurs valeurs d’énumération ModuleType .

Membres

Classes protégées

Nom Description
Module ::GenericReleaseNotifier Appelle un gestionnaire d’événements lorsque le dernier objet du module actuel est libéré. Le gestionnaire d’événements est spécifié sur une fonction lambda, functor ou pointeur.
Module ::MethodReleaseNotifier Appelle un gestionnaire d’événements lorsque le dernier objet du module actuel est libéré. Le gestionnaire d’événements est spécifié par un objet et son membre pointeur vers une méthode.
Module ::ReleaseNotifier Appelle un gestionnaire d’événements lorsque le dernier objet d’un module est libéré.

Constructeurs publics

Nom Description
Module ::~Module Désinitialise l’instance actuelle de la Module classe.

Constructeurs protégés

Nom Description
Module ::Module Initialise une nouvelle instance de la classe Module.

Méthodes publiques

Nom Description
Module ::Create Crée une instance d’un module.
Module ::D ecrementObjectCount Décrémente le nombre d’objets suivis par le module.
Module ::GetActivationFactory Obtient une fabrique d’activation pour le module.
Module ::GetClassObject Récupère un cache des fabriques de classes.
Module ::GetModule Crée une instance d’un module.
Module ::GetObjectCount Récupère le nombre d’objets gérés par ce module.
Module ::IncrementObjectCount Incrémente le nombre d’objets suivis par le module.
Module ::RegisterCOMObject Inscrit un ou plusieurs objets COM afin que d’autres applications puissent les connecter.
Module ::RegisterObjects Inscrit des objets COM ou Windows Runtime afin que d’autres applications puissent les connecter.
Module ::RegisterWinRTObject Inscrit un ou plusieurs objets Windows Runtime afin que d’autres applications puissent les connecter.
Module ::Terminate Provoque l’arrêt de toutes les fabriques instanciées par le module.
Module ::UnregisterCOMObject Annule l’inscription d’un ou de plusieurs objets COM, ce qui empêche les autres applications de se connecter.
Module ::UnregisterObjects Annule l’inscription des objets dans le module spécifié afin que d’autres applications ne puissent pas les connecter.
Module ::UnregisterWinRTObject Annule l’inscription d’un ou de plusieurs objets Windows Runtime afin que d’autres applications ne puissent pas se connecter à ces objets.

Méthodes protégées

Nom Description
Module ::Create Crée une instance d’un module.

Membres de données protégés

Nom Description
Module ::objectCount_ Effectue le suivi du nombre de classes créées avec la fonction Make .
Module ::releaseNotifier_ Contient un pointeur vers un ReleaseNotifier objet.

Macros

Nom Description
ActivateableClass Remplit un cache interne qui contient une fabrique qui peut créer une instance de la classe spécifiée. Cette macro spécifie les paramètres d’id de fabrique et de groupe par défaut.
ActivateableClassWithFactory Remplit un cache interne qui contient une fabrique qui peut créer une instance de la classe spécifiée. Cette macro vous permet de spécifier un paramètre de fabrique particulier.
ActivateableClassWithFactoryEx Remplit un cache interne qui contient une fabrique qui peut créer une instance de la classe spécifiée. Cette macro vous permet de spécifier des paramètres d’ID de fabrique et de groupe particuliers.

Hiérarchie d'héritage

ModuleBase

Module

Module

Spécifications

En-tête : module.h

Espace de noms : Microsoft::WRL

Module ::~Module

Désinitialise l’instance actuelle de la Module classe.

virtual ~Module();

Module ::Create

Crée une instance d’un module.

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)()
);

Paramètres

T
Type de module.

Rappel
Appelé lorsque le dernier objet d’instance du module est libéré.

object
Les paramètres d’objet et de méthode sont utilisés en combinaison. Pointe vers le dernier objet d’instance lorsque le dernier objet d’instance du module est libéré.

method
Les paramètres d’objet et de méthode sont utilisés en combinaison. Pointe vers la méthode de l’objet de la dernière instance lorsque le dernier objet d’instance du module est libéré.

Valeur de retour

Référence au module.

Module ::D ecrementObjectCount

Décrémente le nombre d’objets suivis par le module.

virtual long DecrementObjectCount();

Valeur de retour

Nombre avant l’opération de décrémentation.

Module ::GetActivationFactory

Obtient une fabrique d’activation pour le module.

WRL_NOTHROW HRESULT GetActivationFactory(
   _In_ HSTRING pActivatibleClassId,
   _Deref_out_ IActivationFactory **ppIFactory,
   wchar_t* serverName = nullptr
);

Paramètres

pActivatibleClassId
IID d’une classe runtime.

ppIFactory
IActivationFactory pour la classe runtime spécifiée.

serverName
Nom d’un sous-ensemble de fabriques de classes dans le module actuel. Spécifiez le nom du serveur utilisé dans la macro ActivateableClassWithFactoryEx ou spécifiez nullptr pour obtenir le nom du serveur par défaut.

Valeur de retour

S_OK en cas de réussite ; sinon, HRESULT retourné par GetActivationFactory.

Module ::GetClassObject

Récupère un cache des fabriques de classes.

HRESULT GetClassObject(
   REFCLSID clsid,
   REFIID riid,
   _Deref_out_ void **ppv,
   wchar_t* serverName = nullptr
);

Paramètres

Clsid
ID de classe.

riid
ID d’interface que vous demandez.

Ppv
Pointeur vers l’objet retourné.

serverName
Nom du serveur spécifié dans la ActivatableClassWithFactorymacro, ActivatableClassWithFactoryExou ActivatableClassnullptr pour obtenir le nom du serveur par défaut.

Valeur de retour

Notes

Utilisez cette méthode uniquement pour COM, et non pour Windows Runtime. Cette méthode expose uniquement IClassFactory les méthodes.

Module ::GetModule

Crée une instance d’un module.

static Module& GetModule();
WRL_NOTHROW static Module& GetModule();

Valeur de retour

Référence à un module.

Module ::GetObjectCount

Récupère le nombre d’objets gérés par ce module.

virtual long GetObjectCount() const;

Valeur de retour

Nombre actuel d’objets gérés par ce module.

Module ::IncrementObjectCount

Incrémente le nombre d’objets suivis par le module.

virtual long IncrementObjectCount();

Valeur de retour

Nombre avant l’opération d’incrémentation.

Module ::Module

Initialise une nouvelle instance de la classe Module.

Module();

Notes

Ce constructeur est protégé et ne peut pas être appelé avec le new mot clé. Appelez plutôt Module ::GetModule ou Module ::Create.

Module ::objectCount_

Effectue le suivi du nombre de classes créées avec la fonction Make .

volatile long objectCount_;

Module ::RegisterCOMObject

Inscrit un ou plusieurs objets COM afin que d’autres applications puissent les connecter.

WRL_NOTHROW virtual HRESULT RegisterCOMObject(
   const wchar_t* serverName,
   IID* clsids,
   IClassFactory** factories,
   DWORD* cookies,
   unsigned int count);

Paramètres

serverName
Nom complet d’un serveur.

clsids
Tableau de CLSID à inscrire.

factories
Tableau d’interfaces IUnknown des objets de classe dont la disponibilité est publiée.

cookies
Une fois l’opération terminée, un tableau de pointeurs vers des valeurs qui identifient les objets de classe inscrits. Ces valeurs sont ensuite utilisées pour révoquer l’inscription.

count
Nombre de CLSID à inscrire.

Valeur de retour

S_OK en cas de réussite ; sinon, un HRESULT tel que CO_E_OBJISREG qui indique la raison de l’échec de l’opération.

Notes

Les objets COM sont inscrits auprès de l’énumérateur CLSCTX_LOCAL_SERVER de l’énumération CLSCTX.

Le type de connexion aux objets inscrits est spécifié par une combinaison du paramètre de modèle comflag actuel et de l’énumérateur REGCLS_SUSPENDED de l’énumération REGCLS.

Module ::RegisterObjects

Inscrit des objets COM ou Windows Runtime afin que d’autres applications puissent les connecter.

HRESULT RegisterObjects(
   ModuleBase* module,
   const wchar_t* serverName);

Paramètres

module
Tableau d’objets COM ou Windows Runtime.

serverName
Nom du serveur qui a créé les objets.

Valeur de retour

S_OK en cas de réussite ; sinon, HRESULT qui indique la raison de l’échec de l’opération.

Module ::RegisterWinRTObject

Inscrit un ou plusieurs objets Windows Runtime afin que d’autres applications puissent les connecter.

HRESULT RegisterWinRTObject(const wchar_t* serverName,
   wchar_t** activatableClassIds,
   WINRT_REGISTRATION_COOKIE* cookie,
   unsigned int count)

Paramètres

serverName
Nom qui spécifie un sous-ensemble d’objets affectés par cette opération.

activateableClassIds
Tableau de CLSID pouvant être activés à inscrire.

Cookie
Valeur qui identifie les objets de classe inscrits. Cette valeur est utilisée ultérieurement pour révoquer l’inscription.

count
Nombre d’objets à inscrire.

Valeur de retour

S_OK en cas de réussite ; sinon, une erreur HRESULT telle que CO_E_OBJISREG qui indique la raison de l’échec de l’opération.

Module ::releaseNotifier_

Contient un pointeur vers un ReleaseNotifier objet.

ReleaseNotifier *releaseNotifier_;

Module ::Terminate

Provoque l’arrêt de toutes les fabriques instanciées par le module.

void Terminate();

Notes

Libère les fabriques dans le cache.

Module ::UnregisterCOMObject

Annule l’inscription d’un ou de plusieurs objets COM, ce qui empêche les autres applications de se connecter.

virtual HRESULT UnregisterCOMObject(
   const wchar_t* serverName,
   DWORD* cookies,
   unsigned int count

Paramètres

serverName
(Inutilisé)

cookies
Tableau de pointeurs vers des valeurs qui identifient les objets de classe à désinscrire. Le tableau a été créé par la méthode RegisterCOMObject .

count
Nombre de classes à désinscrire.

Valeur de retour

S_OK si cette opération réussit ; sinon, une erreur HRESULT qui indique la raison de l’échec de l’opération.

Module ::UnregisterObjects

Annule l’inscription des objets dans le module spécifié afin que d’autres applications ne puissent pas les connecter.

HRESULT UnregisterObjects(
   ModuleBase* module,
   const wchar_t* serverName);

Paramètres

module
Pointeur vers un module.

serverName
Nom éligible qui spécifie un sous-ensemble d’objets affectés par cette opération.

Valeur de retour

S_OK si cette opération réussit ; sinon, une erreur HRESULT qui indique la raison pour laquelle cette opération a échoué.

Module ::UnregisterWinRTObject

Annule l’inscription d’un ou de plusieurs objets Windows Runtime afin que d’autres applications ne puissent pas se connecter à ces objets.

virtual HRESULT UnregisterWinRTObject(
   unsigned int,
   _Inout_ WINRT_REGISTRATION_COOKIE* cookie
);

Paramètres

Cookie
Pointeur vers une valeur qui identifie l’objet de classe dont l’inscription doit être révoquée.