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 ActivatableClassWithFactory
macro, ActivatableClassWithFactoryEx
ou ActivatableClass
nullptr
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.
biscuit
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
biscuit
Pointeur vers une valeur qui identifie l’objet de classe dont l’inscription doit être révoquée.