Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa
Reprezentuje klasę WinRT lub COM, która dziedziczy określone interfejsy i zapewnia określoną środowisko wykonawcze systemu Windows, klasyczną obsługę modelu COM i słabych odwołań.
Ta klasa zapewnia implementację standardowych klas WinRT i COM, zapewniając implementację QueryInterface, AddRefRelease itp., zarządza liczbą odwołań modułu i obsługuje dostarczanie fabryki klas do aktywowalnych obiektów.
Składnia
template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;
Parametry
classFlags
Opcjonalny parametr. Kombinacja co najmniej jednej RuntimeClassType wartości wyliczenia. Makro __WRL_CONFIGURATION_LEGACY__ można zdefiniować, aby zmienić wartość classFlags domyślną dla wszystkich klas środowiska uruchomieniowego w projekcie. Jeśli jest zdefiniowana, RuntimeClass wystąpienia są domyślnie niezwinne. Gdy nie zdefiniowano, RuntimeClass wystąpienia są domyślnie zwinne. Aby uniknąć niejednoznaczności, należy zawsze określać Microsoft::WRL::FtmBase wartość in TInterfaces lub RuntimeClassType::InhibitFtmBase. Jeśli InhibitFtmBase i FtmBase są używane, obiekt będzie zwinny.
TInterfaces
Lista interfejsów, które obiekt implementuje poza IUnknowninterfejsami , IInspectable lub innymi interfejsami kontrolowanymi przez RuntimeClassTypeprogram . Może również zawierać listę innych klas, z których mają pochodzić, zwłaszcza Microsoft::WRL::FtmBase w celu zwinności obiektu i spowodować jego zaimplementowanie IMarshal.
Elementy członkowskie
RuntimeClassInitialize
Funkcja, która inicjuje obiekt, jeśli MakeAndInitialize szablon funkcji jest używany do konstruowania obiektu. Zwraca wartość S_OK , jeśli obiekt został pomyślnie zainicjowany lub kod błędu COM, jeśli inicjowanie nie powiodło się. Kod błędu COM jest propagowany jako zwracana wartość MakeAndInitialize. Metoda RuntimeClassInitialize nie jest wywoływana, jeśli Make szablon funkcji jest używany do konstruowania obiektu.
Konstruktory publiczne
| Nazwa/nazwisko | opis |
|---|---|
RuntimeClass::RuntimeClass |
Inicjuje bieżące wystąpienie RuntimeClass klasy. |
RuntimeClass::~RuntimeClass |
Deinitializuje bieżące wystąpienie RuntimeClass klasy. |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
RuntimeClass::AddRef |
Zwiększa liczbę odwołań dla bieżącego RuntimeClass obiektu. |
RuntimeClass::DecrementReference |
Dekrementuje liczbę odwołań dla bieżącego RuntimeClass obiektu. |
RuntimeClass::GetIids |
Pobiera tablicę, która może zawierać identyfikatory interfejsu zaimplementowane przez bieżący RuntimeClass obiekt. |
RuntimeClass::GetRuntimeClassName |
Pobiera nazwę klasy środowiska uruchomieniowego bieżącego RuntimeClass obiektu. |
RuntimeClass::GetTrustLevel |
Pobiera poziom zaufania bieżącego RuntimeClass obiektu. |
RuntimeClass::GetWeakReference |
Pobiera wskaźnik do słabego obiektu odniesienia dla bieżącego RuntimeClass obiektu. |
RuntimeClass::InternalAddRef |
Zwiększa liczbę odwołań do bieżącego RuntimeClass obiektu. |
RuntimeClass::QueryInterface |
Pobiera wskaźnik do określonego identyfikatora interfejsu. |
RuntimeClass::Release |
Wykonuje operację wydania COM na bieżącym RuntimeClass obiekcie. |
Hierarchia dziedziczenia
Hierarchia jest szczegółem implementacji.
Wymagania
Nagłówek: implements.h
Przestrzeń nazw: Microsoft::WRL
RuntimeClass::~RuntimeClass
Deinitializuje bieżące wystąpienie RuntimeClass klasy.
virtual ~RuntimeClass();
RuntimeClass::AddRef
Zwiększa liczbę odwołań dla bieżącego RuntimeClass obiektu.
STDMETHOD_(
ULONG,
AddRef
)();
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie element HRESULT wskazujący błąd.
RuntimeClass::DecrementReference
Dekrementuje liczbę odwołań dla bieżącego RuntimeClass obiektu.
ULONG DecrementReference();
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie element HRESULT wskazujący błąd.
RuntimeClass::GetIids
Pobiera tablicę, która może zawierać identyfikatory interfejsu zaimplementowane przez bieżący RuntimeClass obiekt.
STDMETHOD(
GetIids
)
(_Out_ ULONG *iidCount,
_Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);
Parametry
iidCount
Po zakończeniu tej operacji całkowita liczba elementów w tablicy iids.
iids
Po zakończeniu tej operacji wskaźnik do tablicy identyfikatorów interfejsu.
Wartość zwracana
Wartość S_OK w przypadku powodzenia; w przeciwnym razie wartość E_OUTOFMEMORY.
RuntimeClass::GetRuntimeClassName
Pobiera nazwę klasy środowiska uruchomieniowego bieżącego RuntimeClass obiektu.
STDMETHOD( GetRuntimeClassName )(
_Out_ HSTRING* runtimeName
);
Parametry
runtimeName
Po zakończeniu tej operacji nazwa klasy środowiska uruchomieniowego.
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie element HRESULT wskazujący błąd.
Uwagi
Błąd potwierdzenia jest emitowany, jeśli __WRL_STRICT__ nie __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ jest zdefiniowany.
RuntimeClass::GetTrustLevel
Pobiera poziom zaufania bieżącego RuntimeClass obiektu.
STDMETHOD(GetTrustLevel)(
_Out_ TrustLevel* trustLvl
);
Parametry
trustLvl
Po zakończeniu tej operacji poziom zaufania bieżącego RuntimeClass obiektu.
Wartość zwracana
Zawsze wartość S_OK.
Uwagi
Błąd potwierdzenia jest emitowany, jeśli __WRL_STRICT__ nie __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ jest zdefiniowany.
RuntimeClass::GetWeakReference
Pobiera wskaźnik do słabego obiektu odniesienia dla bieżącego RuntimeClass obiektu.
STDMETHOD(
GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);
Parametry
weakReference
Po zakończeniu tej operacji wskaźnik do słabego obiektu odwołania.
Wartość zwracana
Zawsze wartość S_OK.
RuntimeClass::InternalAddRef
Zwiększa liczbę odwołań do bieżącego RuntimeClass obiektu.
ULONG InternalAddRef();
Wartość zwracana
Wynikowa liczba odwołań.
RuntimeClass::QueryInterface
Pobiera wskaźnik do określonego identyfikatora 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 riid przez parametr .
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie element HRESULT wskazujący błąd.
RuntimeClass::Release
Wykonuje operację wydania COM na bieżącym RuntimeClass obiekcie.
STDMETHOD_(
ULONG,
Release
)();
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie element HRESULT wskazujący błąd.
Uwagi
Jeśli liczba odwołań zmieni się na zero, RuntimeClass obiekt zostanie usunięty.
RuntimeClass::RuntimeClass
Inicjuje bieżące wystąpienie RuntimeClass klasy.
RuntimeClass();