ActivationFactory — Klasa
Umożliwia aktywowanie co najmniej jednej klasy przez środowisko wykonawcze systemu Windows.
Składnia
template <
typename I0 = Details::Nil,
typename I1 = Details::Nil,
typename I2 = Details::Nil
>
class ActivationFactory :
public Details::RuntimeClass<
typename Details::InterfaceListHelper<
IActivationFactory,
I0,
I1,
I2,
Details::Nil
>::TypeT,
RuntimeClassFlags<WinRt | InhibitWeakReference>,
false
>;
Parametry
I0
Interfejs zeroth.
I1
Pierwszy interfejs.
I2
Drugi interfejs.
Uwagi
ActivationFactory
Udostępnia metody rejestracji i podstawowe funkcje interfejsu IActivationFactory
. ActivationFactory
Umożliwia również zapewnienie implementacji fabryki niestandardowej.
Poniższy fragment kodu symbolicznie ilustruje sposób używania rozwiązania ActivationFactory.
struct MyClassFactory : public ActivationFactory<IMyAddtionalInterfaceOnFactory>
{
STDMETHOD(ActivateInstance) (_Outptr_result_nullonfailure_ IInspectable** ppvObject)
{
// my custom implementation
return S_OK;
}
};
ActivatableClassWithFactory(MyClass, MyClassFactory);
// or if a default factory is used:
//ActivatableClassWithFactory(MyClass, SimpleActivationFactory);
Poniższy fragment kodu pokazuje, jak za pomocą struktury Implements określić więcej niż trzy identyfikatory interfejsu.
struct MyFactory : ActivationFactory<Implements<I1, I2, I3>, I4, I5>;
Członkowie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
ActivationFactory::ActivationFactory | Inicjuje klasę ActivationFactory . |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
ActivationFactory::AddRef | Zwiększa liczbę odwołań bieżącego ActivationFactory obiektu. |
ActivationFactory::GetIids | Pobiera tablicę zaimplementowanych identyfikatorów interfejsów. |
ActivationFactory::GetRuntimeClassName | Pobiera nazwę klasy środowiska uruchomieniowego obiektu, który jest bieżącym ActivationFactory wystąpieniem. |
ActivationFactory::GetTrustLevel | Pobiera poziom zaufania obiektu, który tworzy bieżące ActivationFactory wystąpienia. |
ActivationFactory::QueryInterface | Pobiera wskaźnik do określonego interfejsu. |
ActivationFactory::Release | Dekrementuje liczbę odwołań bieżącego ActivationFactory obiektu. |
Hierarchia dziedziczenia
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ActivationFactory
Wymagania
Nagłówek: module.h
Przestrzeń nazw: Microsoft::WRL
ActivationFactory::ActivationFactory
Inicjuje klasę ActivationFactory
.
ActivationFactory();
ActivationFactory::AddRef
Zwiększa liczbę odwołań bieżącego ActivationFactory
obiektu.
STDMETHOD_(
ULONG,
AddRef
)();
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd.
ActivationFactory::GetIids
Pobiera tablicę zaimplementowanych identyfikatorów interfejsów.
STDMETHOD(
GetIids
)(_Out_ ULONG *iidCount, _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);
Parametry
iidCount
Po zakończeniu tej operacji liczba identyfikatorów interfejsu w tablicy iids .
identyfikatory
Po zakończeniu tej operacji tablica zaimplementowanych identyfikatorów interfejsu.
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd. E_OUTOFMEMORY jest to możliwa awaria HRESULT.
ActivationFactory::GetRuntimeClassName
Pobiera nazwę klasy środowiska uruchomieniowego obiektu, który jest bieżącym ActivationFactory
wystąpieniem.
STDMETHOD(
GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);
Parametry
runtimeName
Po zakończeniu tej operacji dojście do ciągu zawierającego nazwę klasy środowiska uruchomieniowego obiektu, który jest bieżącym ActivationFactory
wystąpieniem.
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd.
ActivationFactory::GetTrustLevel
Pobiera poziom zaufania obiektu, który tworzy bieżące ActivationFactory
wystąpienia.
STDMETHOD(
GetTrustLevel
)(_Out_ TrustLevel* trustLvl);
Parametry
trustLvl
Po zakończeniu tej operacji poziom zaufania klasy środowiska uruchomieniowego, który ActivationFactory
tworzy wystąpienie.
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie jest emitowany błąd asercji, a właściwość trustLvl jest ustawiona na FullTrust
wartość .
ActivationFactory::QueryInterface
Pobiera wskaźnik do określonego interfejsu.
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
Parametry
Riid
Identyfikator interfejsu.
ppvObject
Po zakończeniu tej operacji wskaźnik do interfejsu określonego przez parametr riid.
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd.
ActivationFactory::Release
Dekrementuje liczbę odwołań bieżącego ActivationFactory
obiektu.
STDMETHOD_(
ULONG,
Release
)();
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla