Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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>;
Elementy członkowskie
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 FullTrustwartość .
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.