Bagikan melalui


RuntimeClass kelas

Mewakili kelas WinRT atau COM yang mewarisi antarmuka yang ditentukan dan menyediakan Windows Runtime, COM klasik, dan dukungan referensi yang lemah yang ditentukan.

Kelas ini menyediakan implementasi boilerplate kelas WinRT dan COM, menyediakan implementasi QueryInterface, AddRef, Release dll., mengelola jumlah referensi modul dan memiliki dukungan untuk menyediakan pabrik kelas untuk objek yang dapat diaktifkan.

Sintaks

template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;

Parameter

classFlags
Parameter opsional. Kombinasi satu atau beberapa RuntimeClassType nilai enumerasi. __WRL_CONFIGURATION_LEGACY__ Makro dapat didefinisikan untuk mengubah nilai classFlags default untuk semua kelas runtime dalam proyek. Jika ditentukan, RuntimeClass instans tidak tangkas secara default. Ketika tidak ditentukan, RuntimeClass instans tangkas secara default. Untuk menghindari ambiguitas, selalu tentukan Microsoft::WRL::FtmBase di TInterfaces atau RuntimeClassType::InhibitFtmBase. Jika InhibitFtmBase dan FtmBase keduanya digunakan, objek akan tangkas.

TInterfaces
Daftar antarmuka yang diterapkan objek di luar IUnknown, IInspectable atau antarmuka lain yang dikontrol oleh RuntimeClassType. Ini juga dapat mencantumkan kelas lain yang berasal dari, terutama Microsoft::WRL::FtmBase untuk membuat objek gesar dan menyebabkannya mengimplementasikan IMarshal.

Anggota

RuntimeClassInitialize
Fungsi yang menginisialisasi objek jika MakeAndInitialize templat fungsi digunakan untuk membuat objek. Ini mengembalikan jika objek berhasil diinisialisasi, atau kode kesalahan COM jika inisialisasi S_OK gagal. Kode kesalahan COM disebarluaskan sebagai nilai pengembalian .MakeAndInitialize Metode RuntimeClassInitialize ini tidak dipanggil jika Make templat fungsi digunakan untuk membuat objek.

Konstruktor Publik

Nama Deskripsi
RuntimeClass::RuntimeClass Menginisialisasi instans RuntimeClass kelas saat ini.
RuntimeClass::~RuntimeClass Mendeinisialisasi instans RuntimeClass kelas saat ini.

Metode Publik

Nama Deskripsi
RuntimeClass::AddRef Menaikkan jumlah referensi untuk objek saat ini RuntimeClass .
RuntimeClass::DecrementReference Mengurangi jumlah referensi untuk objek saat ini RuntimeClass .
RuntimeClass::GetIids Mendapatkan array yang dapat berisi ID antarmuka yang diimplementasikan oleh objek saat ini RuntimeClass .
RuntimeClass::GetRuntimeClassName Mendapatkan nama kelas runtime objek saat ini RuntimeClass .
RuntimeClass::GetTrustLevel Mendapatkan tingkat kepercayaan objek saat ini RuntimeClass .
RuntimeClass::GetWeakReference Mendapatkan penunjuk ke objek referensi yang lemah untuk objek saat ini RuntimeClass .
RuntimeClass::InternalAddRef Menaikkan jumlah referensi ke objek saat ini RuntimeClass .
RuntimeClass::QueryInterface Mengambil penunjuk ke ID antarmuka yang ditentukan.
RuntimeClass::Release Melakukan operasi Rilis COM pada objek saat ini RuntimeClass .

Hierarki Warisan

Hierarki adalah detail implementasi.

Persyaratan

Header: implements.h

Ruang nama:Microsoft::WRL

RuntimeClass::~RuntimeClass

Mendeinisialisasi instans RuntimeClass kelas saat ini.

virtual ~RuntimeClass();

RuntimeClass::AddRef

Menaikkan jumlah referensi untuk objek saat ini RuntimeClass .

STDMETHOD_(
   ULONG,
   AddRef
)();

Nilai hasil

S_OK jika berhasil; jika tidak, yang HRESULT menunjukkan kesalahan.

RuntimeClass::DecrementReference

Mengurangi jumlah referensi untuk objek saat ini RuntimeClass .

ULONG DecrementReference();

Nilai hasil

S_OK jika berhasil; jika tidak, yang HRESULT menunjukkan kesalahan.

RuntimeClass::GetIids

Mendapatkan array yang dapat berisi ID antarmuka yang diimplementasikan oleh objek saat ini RuntimeClass .

STDMETHOD(
   GetIids
)
   (_Out_ ULONG *iidCount,
   _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);

Parameter

iidCount
Ketika operasi ini selesai, jumlah total elemen dalam array iids.

iids
Ketika operasi ini selesai, penunjuk ke array ID antarmuka.

Nilai hasil

S_OK jika berhasil; jika tidak, E_OUTOFMEMORY.

RuntimeClass::GetRuntimeClassName

Mendapatkan nama kelas runtime objek saat ini RuntimeClass .

STDMETHOD( GetRuntimeClassName )(
    _Out_ HSTRING* runtimeName
);

Parameter

runtimeName
Ketika operasi ini selesai, nama kelas runtime.

Nilai hasil

S_OK jika berhasil; jika tidak, yang HRESULT menunjukkan kesalahan.

Keterangan

Kesalahan pernyataan dipancarkan jika __WRL_STRICT__ atau __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ tidak ditentukan.

RuntimeClass::GetTrustLevel

Mendapatkan tingkat kepercayaan objek saat ini RuntimeClass .

STDMETHOD(GetTrustLevel)(
    _Out_ TrustLevel* trustLvl
);

Parameter

trustLvl
Ketika operasi ini selesai, tingkat kepercayaan objek saat ini RuntimeClass .

Nilai hasil

Selalu S_OK.

Keterangan

Kesalahan pernyataan dipancarkan jika __WRL_STRICT__ atau __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ tidak ditentukan.

RuntimeClass::GetWeakReference

Mendapatkan penunjuk ke objek referensi yang lemah untuk objek saat ini RuntimeClass .

STDMETHOD(
   GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);

Parameter

weakReference
Ketika operasi ini selesai, penunjuk ke objek referensi yang lemah.

Nilai hasil

Selalu S_OK.

RuntimeClass::InternalAddRef

Menaikkan jumlah referensi ke objek saat ini RuntimeClass .

ULONG InternalAddRef();

Nilai hasil

Jumlah referensi yang dihasilkan.

RuntimeClass::QueryInterface

Mengambil penunjuk ke ID antarmuka yang ditentukan.

STDMETHOD(
   QueryInterface
)
   (REFIID riid,
   _Deref_out_ void **ppvObject);

Parameter

riid
ID antarmuka.

ppvObject
Ketika operasi ini selesai, penunjuk ke antarmuka yang ditentukan oleh riid parameter .

Nilai hasil

S_OK jika berhasil; jika tidak, yang HRESULT menunjukkan kesalahan.

RuntimeClass::Release

Melakukan operasi Rilis COM pada objek saat ini RuntimeClass .

STDMETHOD_(
   ULONG,
   Release
)();

Nilai hasil

S_OK jika berhasil; jika tidak, yang HRESULT menunjukkan kesalahan.

Keterangan

Jika jumlah referensi menjadi nol, RuntimeClass objek akan dihapus.

RuntimeClass::RuntimeClass

Menginisialisasi instans RuntimeClass kelas saat ini.

RuntimeClass();