Module — Klasa

Reprezentuje kolekcję powiązanych obiektów.

Składnia

template<ModuleType moduleType>
class Module;

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

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

Parametry

moduleType
Kombinacja co najmniej jednej wartości wyliczenia ModuleType .

Członkowie

Klasy chronione

Nazwa/nazwisko opis
Module::GenericReleaseNotifier Wywołuje program obsługi zdarzeń po wydaniu ostatniego obiektu w bieżącym module. Procedura obsługi zdarzeń jest określana przez element lambda, functor lub wskaźnik-funkcja.
Module::MethodReleaseNotifier Wywołuje program obsługi zdarzeń po wydaniu ostatniego obiektu w bieżącym module. Procedura obsługi zdarzeń jest określana przez obiekt i jego element członkowski wskaźnika do metody.
Module::ReleaseNotifier Wywołuje program obsługi zdarzeń po wydaniu ostatniego obiektu w module.

Konstruktory publiczne

Nazwa/nazwisko opis
Module::~Module Deinitializuje bieżące wystąpienie Module klasy.

Konstruktory chronione

Nazwa/nazwisko opis
Module::Module Inicjuje nowe wystąpienie klasy Module.

Metody publiczne

Nazwa/nazwisko opis
Module::Create Tworzy wystąpienie modułu.
Module::D ecrementObjectCount Dekrementuje liczbę obiektów śledzonych przez moduł.
Module::GetActivationFactory Pobiera fabrykę aktywacji dla modułu.
Module::GetClassObject Pobiera pamięć podręczną fabryk klas.
Module::GetModule Tworzy wystąpienie modułu.
Module::GetObjectCount Pobiera liczbę obiektów zarządzanych przez ten moduł.
Module::IncrementObjectCount Zwiększa liczbę obiektów śledzonych przez moduł.
Module::RegisterCOMObject Rejestruje co najmniej jeden obiekt COM, aby inne aplikacje mogły się z nimi łączyć.
Module::RegisterObjects Rejestruje obiekty COM lub środowisko wykonawcze systemu Windows, aby inne aplikacje mogły się z nimi łączyć.
Module::RegisterWinRTObject Rejestruje co najmniej jeden obiekt środowisko wykonawcze systemu Windows, aby inne aplikacje mogły się z nimi łączyć.
Module::Terminate Powoduje, że wszystkie fabryki utworzone przez moduł zostaną zamknięte.
Module::UnregisterCOMObject Wyrejestrowuje co najmniej jeden obiekt COM, co uniemożliwia innym aplikacjom łączenie się z nimi.
Module::UnregisterObjects Wyrejestrowuje obiekty w określonym module, aby inne aplikacje nie mogły się z nimi połączyć.
Module::UnregisterWinRTObject Wyrejestrowuje co najmniej jeden obiekt środowisko wykonawcze systemu Windows, aby inne aplikacje nie mogły się z nimi łączyć.

Metody chronione

Nazwa/nazwisko opis
Module::Create Tworzy wystąpienie modułu.

Chronione składowe danych

Nazwa/nazwisko opis
Module::objectCount_ Śledzi liczbę klas utworzonych za pomocą funkcji Make .
Module::releaseNotifier_ Przechowuje wskaźnik do ReleaseNotifier obiektu.

Makra

Nazwa/nazwisko opis
Aktywowanaklasa Wypełnia wewnętrzną pamięć podręczną zawierającą fabrykę, która może utworzyć wystąpienie określonej klasy. To makro określa domyślne parametry fabryczne i identyfikator grupy.
AktywacjaClassWithFactory Wypełnia wewnętrzną pamięć podręczną zawierającą fabrykę, która może utworzyć wystąpienie określonej klasy. To makro umożliwia określenie określonego parametru fabryki.
AktywacjaClassWithFactoryEx Wypełnia wewnętrzną pamięć podręczną zawierającą fabrykę, która może utworzyć wystąpienie określonej klasy. To makro umożliwia określenie określonych parametrów fabryki i identyfikatora grupy.

Hierarchia dziedziczenia

ModuleBase

Module

Module

Wymagania

Nagłówek: module.h

Przestrzeń nazw: Microsoft::WRL

Module::~Module

Deinitializuje bieżące wystąpienie Module klasy.

virtual ~Module();

Module::Create

Tworzy wystąpienie modułu.

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 modułu.

Wywołania zwrotnego
Wywoływana po wydaniu ostatniego obiektu wystąpienia modułu.

object
Parametry obiektu i metody są używane w kombinacji. Wskazuje ostatni obiekt wystąpienia po wydaniu ostatniego obiektu wystąpienia w module.

Metoda
Parametry obiektu i metody są używane w kombinacji. Wskazuje metodę ostatniego obiektu wystąpienia po wydaniu ostatniego obiektu wystąpienia w module.

Wartość zwracana

Odwołanie do modułu.

Module::D ecrementObjectCount

Dekrementuje liczbę obiektów śledzonych przez moduł.

virtual long DecrementObjectCount();

Wartość zwracana

Liczba przed operacją dekrementacji.

Module::GetActivationFactory

Pobiera fabrykę aktywacji dla modułu.

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

Parametry

pActivatibleClassId
Identyfikator IID klasy środowiska uruchomieniowego.

ppIFactory
IActivationFactory dla określonej klasy środowiska uruchomieniowego.

Nazwa_serwera
Nazwa podzestawu fabryk klas w bieżącym module. Określ nazwę serwera używaną w makrze ActivatableClassWithFactoryEx lub określ nullptr , aby uzyskać domyślną nazwę serwera.

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie hrESULT zwrócony przez GetActivationFactory.

Module::GetClassObject

Pobiera pamięć podręczną fabryk klas.

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

Parametry

Clsid
Identyfikator klasy.

Riid
Żądany identyfikator interfejsu.

Ppv
Wskaźnik do zwróconego obiektu.

Nazwa_serwera
Nazwa serwera określona w makrze ActivatableClassWithFactorynullptr , ActivatableClassWithFactoryExlub ActivatableClass w celu uzyskania domyślnej nazwy serwera.

Wartość zwracana

Uwagi

Użyj tej metody tylko dla modelu COM, a nie środowisko wykonawcze systemu Windows. Ta metoda uwidacznia tylko IClassFactory metody.

Module::GetModule

Tworzy wystąpienie modułu.

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

Wartość zwracana

Odwołanie do modułu.

Module::GetObjectCount

Pobiera liczbę obiektów zarządzanych przez ten moduł.

virtual long GetObjectCount() const;

Wartość zwracana

Bieżąca liczba obiektów zarządzanych przez ten moduł.

Module::IncrementObjectCount

Zwiększa liczbę obiektów śledzonych przez moduł.

virtual long IncrementObjectCount();

Wartość zwracana

Liczba przed operacją przyrostu.

Module::Module

Inicjuje nowe wystąpienie klasy Module.

Module();

Uwagi

Ten konstruktor jest chroniony i nie może być wywoływany za pomocą słowa kluczowego new . Zamiast tego wywołaj metodę Module::GetModule lub Module::Create.

Module::objectCount_

Śledzi liczbę klas utworzonych za pomocą funkcji Make .

volatile long objectCount_;

Module::RegisterCOMObject

Rejestruje co najmniej jeden obiekt COM, aby inne aplikacje mogły się z nimi łączyć.

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

Parametry

Nazwa_serwera
W pełni kwalifikowana nazwa serwera.

Clsid
Tablica identyfikatorów CLSID do zarejestrowania.

Fabryk
Tablica interfejsów IUnknown obiektów klasy, których dostępność jest publikowana.

Pliki cookie
Po zakończeniu operacji tablica wskaźników do wartości identyfikujących zarejestrowane obiekty klasy. Te wartości są później używane do odwoływanie rejestracji.

count
Liczba identyfikatorów CLSID do zarejestrowania.

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie hrESULT, taki jak CO_E_OBJISREG, który wskazuje przyczynę niepowodzenia operacji.

Uwagi

Obiekty COM są rejestrowane przy użyciu modułu wyliczającego CLSCTX_LOCAL_SERVER wyliczenia CLSCTX.

Typ połączenia z zarejestrowanymi obiektami jest określany przez kombinację bieżącego parametru szablonu comflag i moduł wyliczający REGCLS_SUSPENDED wyliczenia REGCLS.

Module::RegisterObjects

Rejestruje obiekty COM lub środowisko wykonawcze systemu Windows, aby inne aplikacje mogły się z nimi łączyć.

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

Parametry

module
Tablica obiektów COM lub środowisko wykonawcze systemu Windows.

Nazwa_serwera
Nazwa serwera, który utworzył obiekty.

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie HRESULT wskazujący przyczynę niepowodzenia operacji.

Module::RegisterWinRTObject

Rejestruje co najmniej jeden obiekt środowisko wykonawcze systemu Windows, aby inne aplikacje mogły się z nimi łączyć.

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

Parametry

Nazwa_serwera
Nazwa określająca podzbiór obiektów, których dotyczy ta operacja.

aktywowanie identyfikatorówClassId
Tablica aktywowanych identyfikatorów CLSID do zarejestrowania.

Cookie
Wartość identyfikująca zarejestrowane obiekty klasy. Ta wartość jest używana później do odwołania rejestracji.

count
Liczba obiektów do zarejestrowania.

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie błąd HRESULT, taki jak CO_E_OBJISREG, który wskazuje przyczynę niepowodzenia operacji.

Module::releaseNotifier_

Przechowuje wskaźnik do ReleaseNotifier obiektu.

ReleaseNotifier *releaseNotifier_;

Module::Terminate

Powoduje, że wszystkie fabryki utworzone przez moduł zostaną zamknięte.

void Terminate();

Uwagi

Zwalnia fabryki w pamięci podręcznej.

Module::UnregisterCOMObject

Wyrejestrowuje co najmniej jeden obiekt COM, co uniemożliwia innym aplikacjom łączenie się z nimi.

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

Parametry

Nazwa_serwera
(Nieużywane)

Pliki cookie
Tablica wskaźników do wartości identyfikujących obiekty klasy do wyrejestrowania. Tablica została utworzona przez metodę RegisterCOMObject .

count
Liczba klas do wyrejestrowania.

Wartość zwracana

S_OK, jeśli ta operacja zakończy się pomyślnie; w przeciwnym razie błąd HRESULT wskazujący przyczynę niepowodzenia operacji.

Module::UnregisterObjects

Wyrejestrowuje obiekty w określonym module, aby inne aplikacje nie mogły się z nimi połączyć.

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

Parametry

module
Wskaźnik do modułu.

Nazwa_serwera
Kwalifikowana nazwa określająca podzestaw obiektów, których dotyczy ta operacja.

Wartość zwracana

S_OK, jeśli ta operacja zakończy się pomyślnie; w przeciwnym razie błąd HRESULT wskazujący przyczynę niepowodzenia tej operacji.

Module::UnregisterWinRTObject

Wyrejestrowuje co najmniej jeden obiekt środowisko wykonawcze systemu Windows, aby inne aplikacje nie mogły się z nimi łączyć.

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

Parametry

Cookie
Wskaźnik do wartości identyfikującej obiekt klasy, którego rejestracja ma zostać odwołana.