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ého 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.

Vrácená hodnota

Odkaz na modul

Module::D ecrementObjectCount

Sníží počet objektů sledovaných modulem.

virtual long DecrementObjectCount();

Vrácená 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.

Vrácená 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

Identifikátor 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 ActivatableClassWithFactorysadě , ActivatableClassWithFactoryExnebo ActivatableClass makro; nebo nullptr získat výchozí název serveru.

Vrácená 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();

Vrácená hodnota

Odkaz na modul.

Module::GetObjectCount

Načte počet objektů spravovaných tímto modulem.

virtual long GetObjectCount() const;

Vrácená hodnota

Aktuální počet objektů spravovaných tímto modulem.

Module::IncrementObjectCount

Zvýší počet objektů sledovaných modulem.

virtual long IncrementObjectCount();

Vrácená 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.

Clsid
Pole identifikátorů CLSI, které se mají zaregistrovat.

Továrny
Pole rozhraní IUnknown objektů třídy, jejichž dostupnost je publikována.

Soubory cookie
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.

Vrácená 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.

Vrácená 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.

Soubor cookie
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.

Vrácená 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é)

Soubory cookie
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.

Vrácená 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í.

Vrácená 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

Soubor cookie
Ukazatel na hodnotu, která identifikuje objekt třídy, jehož registrace má být odvolána.