Modul – třída
Představuje kolekci souvisejících objektů.
Syntaxe
template<ModuleType moduleType>
class Module;
template<>
class Module<InProc> : public Details::ModuleBase;
template<>
class Module<OutOfProc> : public Module<InProc>;
Parametry
moduleType
Kombinace jedné nebo více hodnot výčtu ModuleType .
Členové
Chráněné třídy
Název | Popis |
---|---|
Module::GenericReleaseNotifier | Vyvolá obslužnou rutinu události při vydání posledního objektu v aktuálním modulu. Obslužnou rutinu události určuje lambda, functor nebo ukazatel na funkci. |
Module::MethodReleaseNotifier | Vyvolá obslužnou rutinu události při vydání posledního objektu v aktuálním modulu. Obslužná rutina události je určena objektem a jeho ukazatelem na-a-method člen. |
Module::ReleaseNotifier | Vyvolá obslužnou rutinu události při vydání posledního objektu v modulu. |
Veřejné konstruktory
Název | Popis |
---|---|
Modul::~Modul | Deinicializuje aktuální instanci Module třídy. |
Chráněné konstruktory
Název | Popis |
---|---|
Module::Module | Inicializuje novou instanci Module třídy. |
Veřejné metody
Název | Popis |
---|---|
Modul::Vytvořit | Vytvoří instanci modulu. |
Module::D ecrementObjectCount | Sníží počet objektů sledovaných modulem. |
Module::GetActivationFactory | Získá aktivační továrnu pro modul. |
Module::GetClassObject | Načte mezipaměť továren tříd. |
Module::GetModule | Vytvoří instanci modulu. |
Module::GetObjectCount | Načte počet objektů spravovaných tímto modulem. |
Module::IncrementObjectCount | Zvýší počet objektů sledovaných modulem. |
Module::RegisterCOMObject | Zaregistruje jeden nebo více objektů MODELU COM, aby se k nim mohly připojit jiné aplikace. |
Module::RegisterObjects | Zaregistruje objekty COM nebo prostředí Windows Runtime, aby se k nim mohly připojit jiné aplikace. |
Module::RegisterWinRTObject | Zaregistruje jeden nebo více prostředí Windows Runtime objektů, aby se k nim mohly připojit jiné aplikace. |
Modul::Terminate | Způsobí vypnutí všech továren vytvořených modulem. |
Modul::UnregisterCOMObject | Zruší registraci jednoho nebo více objektů MODELU COM, což brání jiným aplikacím v připojení k nim. |
Modul::UnregisterObjects | Zruší registraci objektů v zadaném modulu, aby se k nim ostatní aplikace nemohly připojit. |
Modul::UnregisterWinRTObject | Zruší registraci jednoho nebo více prostředí Windows Runtime objektů, aby se k nim nemohly připojit jiné aplikace. |
Chráněné metody
Název | Popis |
---|---|
Modul::Vytvořit | Vytvoří instanci modulu. |
Chráněné datové členy
Název | Popis |
---|---|
Modul::objectCount_ | Sleduje, kolik tříd bylo vytvořeno pomocí funkce Make . |
Modul::releaseNotifier_ | Obsahuje ukazatel na ReleaseNotifier objekt. |
Makra
Název | Popis |
---|---|
Aktivovatelná třída | Naplní interní mezipaměť obsahující továrnu, která může vytvořit instanci zadané třídy. Toto makro určuje výchozí parametry pro vytváření a ID skupiny. |
ActivatableClassWithFactory | Naplní interní mezipaměť obsahující továrnu, která může vytvořit instanci zadané třídy. Toto makro umožňuje zadat konkrétní parametr továrny. |
ActivatableClassWithFactoryEx | Naplní interní mezipaměť obsahující továrnu, která může vytvořit instanci zadané třídy. Toto makro umožňuje zadat konkrétní parametry ID továrny a skupiny. |
Hierarchie dědičnosti
ModuleBase
Module
Module
Požadavky
Hlavička: module.h
Obor názvů: Microsoft::WRL
Modul::~Modul
Deinicializuje aktuální instanci Module
třídy.
virtual ~Module();
Modul::Vytvořit
Vytvoří instanci modulu.
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)()
);
Parametry
T
Typ modulu.
zpětné volání
Volá se při uvolnění objektu poslední instance modulu.
object
Parametry objektu a metody se používají v kombinaci. Odkazuje na poslední objekt instance, když se uvolní poslední objekt instance v modulu.
metoda
Parametry objektu a metody se používají v kombinaci. Odkazuje na metodu objektu poslední instance při uvolnění objektu poslední instance v modulu.
Návratová hodnota
Odkaz na modul
Module::D ecrementObjectCount
Sníží počet objektů sledovaných modulem.
virtual long DecrementObjectCount();
Návratová hodnota
Počet před operací dekrementace.
Module::GetActivationFactory
Získá aktivační továrnu pro modul.
WRL_NOTHROW HRESULT GetActivationFactory(
_In_ HSTRING pActivatibleClassId,
_Deref_out_ IActivationFactory **ppIFactory,
wchar_t* serverName = nullptr
);
Parametry
pActivatibleClassId
IID třídy modulu runtime.
ppIFactory
IActivationFactory pro zadanou třídu modulu runtime.
název_serveru
Název podmnožina továren tříd v aktuálním modulu. Zadejte název serveru použitý v makře ActivatableClassWithFactoryEx nebo zadejte nullptr
název výchozího serveru.
Návratová hodnota
S_OK v případě úspěchu; jinak hodnota HRESULT vrácená funkcí GetActivationFactory.
Module::GetClassObject
Načte mezipaměť továren tříd.
HRESULT GetClassObject(
REFCLSID clsid,
REFIID riid,
_Deref_out_ void **ppv,
wchar_t* serverName = nullptr
);
Parametry
clsid
ID třídy.
riid
ID rozhraní, které požadujete.
ppv
Ukazatel na vrácený objekt.
název_serveru
Název serveru, který je zadán v ActivatableClassWithFactory
sadě , ActivatableClassWithFactoryEx
nebo ActivatableClass
makro; nebo nullptr
získat výchozí název serveru.
Návratová hodnota
Poznámky
Tuto metodu použijte pouze pro com, nikoli pro prostředí Windows Runtime. Tato metoda zveřejňuje pouze IClassFactory
metody.
Module::GetModule
Vytvoří instanci modulu.
static Module& GetModule();
WRL_NOTHROW static Module& GetModule();
Návratová hodnota
Odkaz na modul.
Module::GetObjectCount
Načte počet objektů spravovaných tímto modulem.
virtual long GetObjectCount() const;
Návratová hodnota
Aktuální počet objektů spravovaných tímto modulem.
Module::IncrementObjectCount
Zvýší počet objektů sledovaných modulem.
virtual long IncrementObjectCount();
Návratová hodnota
Počet před operací přírůstku.
Module::Module
Inicializuje novou instanci Module
třídy.
Module();
Poznámky
Tento konstruktor je chráněn a nelze volat pomocí klíčového new
slova. Místo toho volejte modul ::GetModule nebo Module::Create.
Modul::objectCount_
Sleduje, kolik tříd bylo vytvořeno pomocí funkce Make .
volatile long objectCount_;
Module::RegisterCOMObject
Zaregistruje jeden nebo více objektů MODELU COM, aby se k nim mohly připojit jiné aplikace.
WRL_NOTHROW virtual HRESULT RegisterCOMObject(
const wchar_t* serverName,
IID* clsids,
IClassFactory** factories,
DWORD* cookies,
unsigned int count);
Parametry
název_serveru
Plně kvalifikovaný název serveru.
clsids
Pole identifikátorů CLSI, které se mají zaregistrovat.
továrny
Pole rozhraní IUnknown objektů třídy, jejichž dostupnost je publikována.
koláčky
Po dokončení operace je pole ukazatelů na hodnoty identifikující objekty třídy, které byly zaregistrovány. Tyto hodnoty se později použijí k odvolání registrace.
count
Počet identifikátorů CLSI, které se mají zaregistrovat.
Návratová hodnota
S_OK v případě úspěchu; jinak hodnota HRESULT, například CO_E_OBJISREG, která označuje důvod selhání operace.
Poznámky
Objekty COM jsou registrovány s CLSCTX_LOCAL_SERVER výčtu CLSCTX výčtu.
Typ připojení k registrovaným objektům je určen kombinací aktuálního parametru šablony comflag a REGCLS_SUSPENDED výčtu REGCLS.
Module::RegisterObjects
Zaregistruje objekty COM nebo prostředí Windows Runtime, aby se k nim mohly připojit jiné aplikace.
HRESULT RegisterObjects(
ModuleBase* module,
const wchar_t* serverName);
Parametry
module
Pole objektů COM nebo prostředí Windows Runtime.
název_serveru
Název serveru, který objekty vytvořil.
Návratová hodnota
S_OK v případě úspěchu; jinak hodnota HRESULT, která označuje důvod, proč operace selhala.
Module::RegisterWinRTObject
Zaregistruje jeden nebo více prostředí Windows Runtime objektů, aby se k nim mohly připojit jiné aplikace.
HRESULT RegisterWinRTObject(const wchar_t* serverName,
wchar_t** activatableClassIds,
WINRT_REGISTRATION_COOKIE* cookie,
unsigned int count)
Parametry
název_serveru
Název, který určuje podmnožinu objektů ovlivněných touto operací.
activatableClassIds
Pole aktivovatelných identifikátorů CLSI, které se mají zaregistrovat.
sušenka
Hodnota, která identifikuje objekty třídy, které byly zaregistrovány. Tato hodnota se použije později k odvolání registrace.
count
Počet objektů, které se mají zaregistrovat.
Návratová hodnota
S_OK v případě úspěchu; jinak se zobrazí chyba HRESULT, například CO_E_OBJISREG označující důvod selhání operace.
Modul::releaseNotifier_
Obsahuje ukazatel na ReleaseNotifier
objekt.
ReleaseNotifier *releaseNotifier_;
Modul::Terminate
Způsobí vypnutí všech továren vytvořených modulem.
void Terminate();
Poznámky
Uvolní továrny v mezipaměti.
Modul::UnregisterCOMObject
Zruší registraci jednoho nebo více objektů MODELU COM, což brání jiným aplikacím v připojení k nim.
virtual HRESULT UnregisterCOMObject(
const wchar_t* serverName,
DWORD* cookies,
unsigned int count
Parametry
název_serveru
(Nepoužité)
koláčky
Pole ukazatelů na hodnoty, které identifikují objekty třídy, které mají být neregistrovány. Pole bylo vytvořeno metodou RegisterCOMObject .
count
Počet tříd, které se mají zrušit.
Návratová hodnota
S_OK, pokud je tato operace úspěšná; jinak došlo k chybě HRESULT, která označuje důvod, proč operace selhala.
Modul::UnregisterObjects
Zruší registraci objektů v zadaném modulu, aby se k nim ostatní aplikace nemohly připojit.
HRESULT UnregisterObjects(
ModuleBase* module,
const wchar_t* serverName);
Parametry
module
Ukazatel na modul
název_serveru
Kvalifikovaný název, který určuje podmnožinu objektů ovlivněných touto operací.
Návratová hodnota
S_OK, pokud je tato operace úspěšná; jinak došlo k chybě HRESULT, která označuje důvod, proč tato operace selhala.
Modul::UnregisterWinRTObject
Zruší registraci jednoho nebo více prostředí Windows Runtime objektů, aby se k nim nemohly připojit jiné aplikace.
virtual HRESULT UnregisterWinRTObject(
unsigned int,
_Inout_ WINRT_REGISTRATION_COOKIE* cookie
);
Parametry
sušenka
Ukazatel na hodnotu, která identifikuje objekt třídy, jehož registrace má být odvolána.