Module-Klasse
Stellt eine Auflistung von zugehörigen Objekten dar.
Syntax
template<ModuleType moduleType>
class Module;
template<>
class Module<InProc> : public Details::ModuleBase;
template<>
class Module<OutOfProc> : public Module<InProc>;
Parameter
moduleType
Eine Kombination aus einem oder mehreren ModuleType-Enumerationswerten .
Member
Geschützte Klassen
Name | Beschreibung |
---|---|
Module::GenericReleaseNotifier | Ruft einen Ereignishandler auf, wenn das letzte Objekt im aktuellen Modul freigegeben wird. Der Ereignishandler wird durch eine Lambda-, Functor- oder Zeiger-zu-Funktion angegeben. |
Module::MethodReleaseNotifier | Ruft einen Ereignishandler auf, wenn das letzte Objekt im aktuellen Modul freigegeben wird. Der Ereignishandler wird durch ein Objekt und dessen Zeiger-zu-a-Methoden-Member angegeben. |
Modul::ReleaseNotifier | Ruft einen Ereignishandler auf, wenn das letzte Objekt in einem Modul freigegeben wird. |
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
Module::~Module | Deinitialisiert die aktuelle Instanz der Module Klasse. |
Geschützte Konstruktoren
Name | Beschreibung |
---|---|
Module::Module | Initialisiert eine neue Instanz der Module -Klasse. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
Modul::Create | Erstellt eine Instanz eines Moduls. |
Module::D ecrementObjectCount | Erhöht die Anzahl der objekte, die vom Modul nachverfolgt werden. |
Module::GetActivationFactory | Ruft eine Aktivierungsfactory für das Modul ab. |
Module::GetClassObject | Ruft einen Cache von Klassenfabriken ab. |
Module::GetModule | Erstellt eine Instanz eines Moduls. |
Module::GetObjectCount | Ruft die Anzahl der von diesem Modul verwalteten Objekte ab. |
Module::IncrementObjectCount | Erhöht die Anzahl der vom Modul nachverfolgten Objekte. |
Modul::RegisterCOMObject | Registriert ein oder mehrere COM-Objekte, damit andere Anwendungen eine Verbindung mit ihnen herstellen können. |
Modul::RegisterObjects | Registriert COM- oder Windows-Runtime-Objekte, damit andere Anwendungen eine Verbindung mit diesen herstellen können. |
Modul::RegisterWinRTObject | Registriert ein oder mehrere Windows-Runtime Objekte, damit andere Anwendungen eine Verbindung mit diesen herstellen können. |
Modul::Terminate | Bewirkt, dass alle Fabriken, die vom Modul instanziiert werden, heruntergefahren werden. |
Module::UnregisterCOMObject | Hebt die Registrierung eines oder mehrerer COM-Objekte auf, wodurch verhindert wird, dass andere Anwendungen eine Verbindung mit ihnen herstellen. |
Module::UnregisterObjects | Hebt die Registrierung der Objekte im angegebenen Modul auf, sodass keine Verbindung mit anderen Anwendungen hergestellt werden kann. |
Module::UnregisterWinRTObject | Hebt die Registrierung eines oder mehrerer Windows-Runtime Objekte auf, sodass keine Verbindung mit anderen Anwendungen hergestellt werden kann. |
Geschützte Methoden
Name | Beschreibung |
---|---|
Modul::Create | Erstellt eine Instanz eines Moduls. |
Geschützte Datenmember
Name | Beschreibung |
---|---|
Modul::objectCount_ | Verfolgt, wie viele Klassen mit der Make-Funktion erstellt wurden. |
Modul::releaseNotifier_ | Enthält einen Zeiger auf ein ReleaseNotifier Objekt. |
Makros
Name | Beschreibung |
---|---|
AktivableClass | Füllt einen internen Cache auf, der eine Factory enthält, die eine Instanz der angegebenen Klasse erstellen kann. Dieses Makro gibt standardeinstellungen für Factory- und Gruppen-ID-Parameter an. |
AktivableClassWithFactory | Füllt einen internen Cache auf, der eine Factory enthält, die eine Instanz der angegebenen Klasse erstellen kann. Mit diesem Makro können Sie einen bestimmten Factoryparameter angeben. |
AktivableClassWithFactoryEx | Füllt einen internen Cache auf, der eine Factory enthält, die eine Instanz der angegebenen Klasse erstellen kann. Mit diesem Makro können Sie bestimmte Factory- und Gruppen-ID-Parameter angeben. |
Vererbungshierarchie
ModuleBase
Module
Module
Anforderungen
Kopfzeile: module.h
Namespace: Microsoft::WRL
Module::~Module
Deinitialisiert die aktuelle Instanz der Module
Klasse.
virtual ~Module();
Modul::Create
Erstellt eine Instanz eines Moduls.
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)()
);
Parameter
T
Modultyp.
Rückruf
Wird aufgerufen, wenn das letzte Instanzobjekt des Moduls freigegeben wird.
object
Die Objekt - und Methodenparameter werden in Kombination verwendet. Verweist auf das letzte Instanzobjekt, wenn das letzte Instanzobjekt im Modul freigegeben wird.
method
Die Objekt - und Methodenparameter werden in Kombination verwendet. Verweist auf die Methode des letzten Instanzobjekts, wenn das letzte Instanzobjekt im Modul freigegeben wird.
Rückgabewert
Verweisen auf das Modul.
Module::D ecrementObjectCount
Erhöht die Anzahl der objekte, die vom Modul nachverfolgt werden.
virtual long DecrementObjectCount();
Rückgabewert
Die Anzahl vor dem Dekrementvorgang.
Module::GetActivationFactory
Ruft eine Aktivierungsfactory für das Modul ab.
WRL_NOTHROW HRESULT GetActivationFactory(
_In_ HSTRING pActivatibleClassId,
_Deref_out_ IActivationFactory **ppIFactory,
wchar_t* serverName = nullptr
);
Parameter
pActivatibleClassId
IID einer Laufzeitklasse.
ppIFactory
Die IActivationFactory für die angegebene Laufzeitklasse.
serverName
Der Name einer Teilmenge von Klassenfabriken im aktuellen Modul. Geben Sie den Servernamen an, der im AktivableClassWithFactoryEx-Makro verwendet wird, oder geben nullptr
Sie an, um den Standardservernamen abzurufen.
Rückgabewert
bei erfolgreicher Ausführung S_OK; andernfalls das von GetActivationFactory zurückgegebene HRESULT.
Module::GetClassObject
Ruft einen Cache von Klassenfabriken ab.
HRESULT GetClassObject(
REFCLSID clsid,
REFIID riid,
_Deref_out_ void **ppv,
wchar_t* serverName = nullptr
);
Parameter
clsid
Klassen-ID.
riid
Schnittstellen-ID, die Sie anfordern.
ppv
Zeiger, um das zurückgegebene Objekt zurückzugeben.
serverName
Der Servername, der ActivatableClassWithFactory
entweder im Oder ActivatableClassWithFactoryEx
ActivatableClass
Makro angegeben ist, oder nullptr
um den Standardservernamen abzurufen.
Rückgabewert
Bemerkungen
Verwenden Sie diese Methode nur für COM, nicht für die Windows-Runtime. Diese Methode macht nur IClassFactory
Methoden verfügbar.
Module::GetModule
Erstellt eine Instanz eines Moduls.
static Module& GetModule();
WRL_NOTHROW static Module& GetModule();
Rückgabewert
Ein Verweis auf ein Modul.
Module::GetObjectCount
Ruft die Anzahl der von diesem Modul verwalteten Objekte ab.
virtual long GetObjectCount() const;
Rückgabewert
Die aktuelle Anzahl von Objekten, die von diesem Modul verwaltet werden.
Module::IncrementObjectCount
Erhöht die Anzahl der vom Modul nachverfolgten Objekte.
virtual long IncrementObjectCount();
Rückgabewert
Die Anzahl vor dem Inkrementvorgang.
Module::Module
Initialisiert eine neue Instanz der Module
-Klasse.
Module();
Hinweise
Dieser Konstruktor ist geschützt und kann nicht mit dem new
Schlüsselwort aufgerufen werden. Rufen Sie stattdessen entweder Module::GetModule oder Module::Create auf.
Modul::objectCount_
Verfolgt, wie viele Klassen mit der Make-Funktion erstellt wurden.
volatile long objectCount_;
Modul::RegisterCOMObject
Registriert ein oder mehrere COM-Objekte, damit andere Anwendungen eine Verbindung mit ihnen herstellen können.
WRL_NOTHROW virtual HRESULT RegisterCOMObject(
const wchar_t* serverName,
IID* clsids,
IClassFactory** factories,
DWORD* cookies,
unsigned int count);
Parameter
serverName
Vollqualifizierter Name eines Servers.
clsids
Ein Array von CLSIDs, die registriert werden sollen.
factories
Ein Array von IUnknown-Schnittstellen der Klassenobjekte, deren Verfügbarkeit veröffentlicht wird.
cookies
Nach Abschluss des Vorgangs gibt es ein Array von Zeigern auf Werte, die die klassenobjekte identifizieren, die registriert wurden. Diese Werte werden später verwendet, um die Registrierung zu widerrufen.
count
Die Anzahl der zu registrierenden CLSIDs.
Rückgabewert
bei erfolgreicher Ausführung S_OK; andernfalls gibt ein HRESULT wie CO_E_OBJISREG an, der den Grund für den Fehler des Vorgangs angibt.
Hinweise
Die COM-Objekte werden mit dem CLSCTX_LOCAL_SERVER Enumerator der CLSCTX-Enumeration registriert.
Der Verbindungstyp mit den registrierten Objekten wird durch eine Kombination aus dem aktuellen Comflag-Vorlagenparameter und dem REGCLS_SUSPENDED Enumerator der REGCLS-Enumeration angegeben.
Modul::RegisterObjects
Registriert COM- oder Windows-Runtime-Objekte, damit andere Anwendungen eine Verbindung mit diesen herstellen können.
HRESULT RegisterObjects(
ModuleBase* module,
const wchar_t* serverName);
Parameter
module
Ein Array von COM- oder Windows-Runtime-Objekten.
serverName
Name des Servers, der die Objekte erstellt hat.
Rückgabewert
bei erfolgreicher Ausführung S_OK; andernfalls ein HRESULT, das angibt, warum der Vorgang fehlgeschlagen ist.
Modul::RegisterWinRTObject
Registriert ein oder mehrere Windows-Runtime Objekte, damit andere Anwendungen eine Verbindung mit diesen herstellen können.
HRESULT RegisterWinRTObject(const wchar_t* serverName,
wchar_t** activatableClassIds,
WINRT_REGISTRATION_COOKIE* cookie,
unsigned int count)
Parameter
serverName
Ein Name, der eine Teilmenge von Objekten angibt, die von diesem Vorgang betroffen sind.
aktivableClassIds
Ein Array von aktivierbaren CLSIDs, die registriert werden sollen.
Keks
Ein Wert, der die Klassenobjekte identifiziert, die registriert wurden. Dieser Wert wird später verwendet, um die Registrierung zu widerrufen.
count
Die Anzahl der zu registrierenden Objekte.
Rückgabewert
bei erfolgreicher Ausführung S_OK; andernfalls ist ein HRESULT-Fehler wie z. B. CO_E_OBJISREG, der angibt, warum der Vorgang fehlgeschlagen ist.
Modul::releaseNotifier_
Enthält einen Zeiger auf ein ReleaseNotifier
Objekt.
ReleaseNotifier *releaseNotifier_;
Modul::Terminate
Bewirkt, dass alle Fabriken, die vom Modul instanziiert werden, heruntergefahren werden.
void Terminate();
Hinweise
Gibt die Fabriken im Cache frei.
Module::UnregisterCOMObject
Hebt die Registrierung eines oder mehrerer COM-Objekte auf, wodurch verhindert wird, dass andere Anwendungen eine Verbindung mit ihnen herstellen.
virtual HRESULT UnregisterCOMObject(
const wchar_t* serverName,
DWORD* cookies,
unsigned int count
Parameter
serverName
(Nicht verwendet)
cookies
Ein Array von Zeigern auf Werte, die die Klassenobjekte identifizieren, die nicht registriert werden sollen. Das Array wurde von der RegisterCOMObject-Methode erstellt.
count
Die Anzahl der Klassen, um die Registrierung aufzuheben.
Rückgabewert
S_OK, wenn dieser Vorgang erfolgreich ist; andernfalls ein HRESULT-Fehler, der angibt, warum der Vorgang fehlgeschlagen ist.
Module::UnregisterObjects
Hebt die Registrierung der Objekte im angegebenen Modul auf, sodass keine Verbindung mit anderen Anwendungen hergestellt werden kann.
HRESULT UnregisterObjects(
ModuleBase* module,
const wchar_t* serverName);
Parameter
module
Zeiger auf ein Modul.
serverName
Ein qualifizierter Name, der eine Teilmenge von Objekten angibt, die von diesem Vorgang betroffen sind.
Rückgabewert
S_OK, wenn dieser Vorgang erfolgreich ist; andernfalls ein Fehler-HRESULT, der angibt, warum dieser Vorgang fehlgeschlagen ist.
Module::UnregisterWinRTObject
Hebt die Registrierung eines oder mehrerer Windows-Runtime Objekte auf, sodass keine Verbindung mit anderen Anwendungen hergestellt werden kann.
virtual HRESULT UnregisterWinRTObject(
unsigned int,
_Inout_ WINRT_REGISTRATION_COOKIE* cookie
);
Parameter
Keks
Ein Zeiger auf einen Wert, der das Klassenobjekt identifiziert, dessen Registrierung widerrufen werden soll.