RuntimeClass
sınıfı
Belirtilen arabirimleri devralan ve belirtilen Windows Çalışma Zamanı, klasik COM ve zayıf başvuru desteği sağlayan bir WinRT veya COM sınıfını temsil eder.
Bu sınıf, WinRT ve COM sınıflarının ortak uygulamasını sağlar, , AddRef
Release
vb. uygulamasını QueryInterface
sağlar, modülün başvuru sayısını yönetir ve eyleme geçirilebilir nesneler için sınıf fabrikası sağlama desteğine sahiptir.
Sözdizimi
template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;
Parametreler
classFlags
İsteğe bağlı parametre. Bir veya daha fazla RuntimeClassType
numaralandırma değerinin birleşimi. Makro, __WRL_CONFIGURATION_LEGACY__
projedeki tüm çalışma zamanı sınıfları için varsayılan değerini classFlags
değiştirmek üzere tanımlanabilir. Tanımlanırsa, RuntimeClass
örnekler varsayılan olarak çevik değillerdir. Tanımlanmadığında, RuntimeClass
örnekler varsayılan olarak çeviktir. Belirsizliği önlemek için, her zaman veya RuntimeClassType::InhibitFtmBase
değerini TInterfaces
belirtinMicrosoft::WRL::FtmBase
. ve FtmBase
her ikisi de kullanılırsaInhibitFtmBase
, nesne çevik olur.
TInterfaces
nesnesinin dışında IUnknown
IInspectable
uyguladığı arabirimlerin listesi veya tarafından RuntimeClassType
denetlenen diğer arabirimler. Ayrıca, Microsoft::WRL::FtmBase
özellikle nesnesini çevik hale getirmek ve uygulamasına IMarshal
neden olmak için, türetilecek diğer sınıfları listeleyebilir.
Üyeler
RuntimeClassInitialize
İşlev şablonu nesneyi oluşturmak için kullanılıyorsa MakeAndInitialize
nesneyi başlatan işlev. Nesnenin başarıyla başlatılıp başlatılmadığını veya başlatma başarısız olursa COM hata kodunu döndürür S_OK
. COM hata kodu, dönüş değeri MakeAndInitialize
olarak yayılır. RuntimeClassInitialize
İşlev şablonu nesneyi oluşturmak için kullanılırsa Make
yöntemi çağrılmaz.
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
RuntimeClass::RuntimeClass |
Sınıfının geçerli örneğini RuntimeClass başlatır. |
RuntimeClass::~RuntimeClass |
Sınıfın geçerli örneğini RuntimeClass başlatır. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
RuntimeClass::AddRef |
Geçerli RuntimeClass nesne için başvuru sayısını artırır. |
RuntimeClass::DecrementReference |
Geçerli RuntimeClass nesne için başvuru sayısını azaltma. |
RuntimeClass::GetIids |
Geçerli RuntimeClass nesne tarafından uygulanan arabirim kimliklerini içerebilen bir dizi alır. |
RuntimeClass::GetRuntimeClassName |
Geçerli RuntimeClass nesnenin çalışma zamanı sınıf adını alır. |
RuntimeClass::GetTrustLevel |
Geçerli RuntimeClass nesnenin güven düzeyini alır. |
RuntimeClass::GetWeakReference |
Geçerli RuntimeClass nesnenin zayıf başvuru nesnesine yönelik bir işaretçi alır. |
RuntimeClass::InternalAddRef |
Başvuru sayısını geçerli RuntimeClass nesneye artırır. |
RuntimeClass::QueryInterface |
Belirtilen arabirim kimliğine yönelik bir işaretçi alır. |
RuntimeClass::Release |
Geçerli RuntimeClass nesne üzerinde bir COM Yayın işlemi gerçekleştirir. |
Devralma Hiyerarşisi
Hiyerarşi bir uygulama ayrıntısıdır.
Gereksinimler
Üst bilgi: implements.h
Ad alanı: Microsoft::WRL
RuntimeClass::~RuntimeClass
Sınıfın geçerli örneğini RuntimeClass
başlatır.
virtual ~RuntimeClass();
RuntimeClass::AddRef
Geçerli RuntimeClass
nesne için başvuru sayısını artırır.
STDMETHOD_(
ULONG,
AddRef
)();
Dönüş değeri
S_OK
başarılı olursa; aksi takdirde, hatayı gösteren bir HRESULT
.
RuntimeClass::DecrementReference
Geçerli RuntimeClass
nesne için başvuru sayısını azaltma.
ULONG DecrementReference();
Dönüş değeri
S_OK
başarılı olursa; aksi takdirde, hatayı gösteren bir HRESULT
.
RuntimeClass::GetIids
Geçerli RuntimeClass
nesne tarafından uygulanan arabirim kimliklerini içerebilen bir dizi alır.
STDMETHOD(
GetIids
)
(_Out_ ULONG *iidCount,
_Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);
Parametreler
iidCount
Bu işlem tamamlandığında dizideki iids
toplam öğe sayısı.
iids
Bu işlem tamamlandığında, arabirim kimlikleri dizisine yönelik bir işaretçi.
Dönüş değeri
Başarılıysa S_OK
, değilse E_OUTOFMEMORY
.
RuntimeClass::GetRuntimeClassName
Geçerli RuntimeClass
nesnenin çalışma zamanı sınıf adını alır.
STDMETHOD( GetRuntimeClassName )(
_Out_ HSTRING* runtimeName
);
Parametreler
runtimeName
Bu işlem tamamlandığında çalışma zamanı sınıf adı.
Dönüş değeri
S_OK
başarılı olursa; aksi takdirde, hatayı gösteren bir HRESULT
.
Açıklamalar
Tanımlanmadıysa veya __WRL_FORCE_INSPECTABLE_CLASS_MACRO__
tanımlanmadıysa __WRL_STRICT__
bir onay hatası görüntülenir.
RuntimeClass::GetTrustLevel
Geçerli RuntimeClass
nesnenin güven düzeyini alır.
STDMETHOD(GetTrustLevel)(
_Out_ TrustLevel* trustLvl
);
Parametreler
trustLvl
Bu işlem tamamlandığında, geçerli RuntimeClass
nesnenin güven düzeyi.
Dönüş değeri
Her zaman S_OK
.
Açıklamalar
Tanımlanmadıysa veya __WRL_FORCE_INSPECTABLE_CLASS_MACRO__
tanımlanmadıysa __WRL_STRICT__
bir onay hatası görüntülenir.
RuntimeClass::GetWeakReference
Geçerli RuntimeClass
nesnenin zayıf başvuru nesnesine yönelik bir işaretçi alır.
STDMETHOD(
GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);
Parametreler
weakReference
Bu işlem tamamlandığında, zayıf başvuru nesnesine yönelik bir işaretçi.
Dönüş değeri
Her zaman S_OK
.
RuntimeClass::InternalAddRef
Başvuru sayısını geçerli RuntimeClass
nesneye artırır.
ULONG InternalAddRef();
Dönüş değeri
Elde edilen başvuru sayısı.
RuntimeClass::QueryInterface
Belirtilen arabirim kimliğine yönelik bir işaretçi alır.
STDMETHOD(
QueryInterface
)
(REFIID riid,
_Deref_out_ void **ppvObject);
Parametreler
riid
Arabirim kimliği.
ppvObject
Bu işlem tamamlandığında, parametresi tarafından riid
belirtilen arabirime yönelik bir işaretçi.
Dönüş değeri
S_OK
başarılı olursa; aksi takdirde, hatayı gösteren bir HRESULT
.
RuntimeClass::Release
Geçerli RuntimeClass
nesne üzerinde bir COM Yayın işlemi gerçekleştirir.
STDMETHOD_(
ULONG,
Release
)();
Dönüş değeri
S_OK
başarılı olursa; aksi takdirde, hatayı gösteren bir HRESULT
.
Açıklamalar
Başvuru sayısı sıfır olursa nesne RuntimeClass
silinir.
RuntimeClass::RuntimeClass
Sınıfının geçerli örneğini RuntimeClass
başlatır.
RuntimeClass();