Bagikan melalui


Kelas ActivationFactory

Memungkinkan satu atau beberapa kelas diaktifkan oleh Windows Runtime.

Sintaks

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
    >;

Parameter

I0
Antarmuka nol.

I1
Antarmuka pertama.

I2
Antarmuka kedua.

Keterangan

ActivationFactory menyediakan metode pendaftaran dan fungsionalitas dasar untuk IActivationFactory antarmuka. ActivationFactory juga memungkinkan Anda untuk memberikan implementasi pabrik kustom.

Fragmen kode berikut secara simbolis menggambarkan cara menggunakan 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);

Fragmen kode berikut menunjukkan cara menggunakan struktur Implements untuk menentukan lebih dari tiga ID antarmuka.

struct MyFactory : ActivationFactory<Implements<I1, I2, I3>, I4, I5>;

Anggota

Konstruktor Publik

Nama Deskripsi
ActivationFactory::ActivationFactory Menginisialisasi ActivationFactory kelas.

Metode Publik

Nama Deskripsi
ActivationFactory::AddRef Menaikkan jumlah referensi objek saat ini ActivationFactory .
ActivationFactory::GetIids Mengambil array ID antarmuka yang diimplementasikan.
ActivationFactory::GetRuntimeClassName Mendapatkan nama kelas runtime objek yang saat ini ActivationFactory membuat instans.
ActivationFactory::GetTrustLevel Mendapatkan tingkat kepercayaan objek yang instans saat ini ActivationFactory .
ActivationFactory::QueryInterface Mengambil penunjuk ke antarmuka yang ditentukan.
ActivationFactory::Release Mengurangi jumlah referensi objek saat ini ActivationFactory .

Hierarki Warisan

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ActivationFactory

Persyaratan

Header: module.h

Namespace: Microsoft::WRL

ActivationFactory::ActivationFactory

Menginisialisasi ActivationFactory kelas.

ActivationFactory();

ActivationFactory::AddRef

Menaikkan jumlah referensi objek saat ini ActivationFactory .

STDMETHOD_(
   ULONG,
   AddRef
)();

Tampilkan Nilai

S_OK jika berhasil; jika tidak, HRESULT yang menjelaskan kegagalan.

ActivationFactory::GetIids

Mengambil array ID antarmuka yang diimplementasikan.

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

Parameter

iidCount
Ketika operasi ini selesai, jumlah ID antarmuka dalam array iids .

iids
Ketika operasi ini selesai, array ID antarmuka yang diimplementasikan.

Tampilkan Nilai

S_OK jika berhasil; jika tidak, HRESULT yang menjelaskan kegagalan. E_OUTOFMEMORY adalah kemungkinan kegagalan HRESULT.

ActivationFactory::GetRuntimeClassName

Mendapatkan nama kelas runtime objek yang saat ini ActivationFactory membuat instans.

STDMETHOD(
   GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);

Parameter

runtimeName
Ketika operasi ini selesai, handel ke string yang berisi nama kelas runtime objek yang instans saat ini ActivationFactory .

Tampilkan Nilai

S_OK jika berhasil; jika tidak, HRESULT yang menjelaskan kegagalan.

ActivationFactory::GetTrustLevel

Mendapatkan tingkat kepercayaan objek yang instans saat ini ActivationFactory .

STDMETHOD(
   GetTrustLevel
)(_Out_ TrustLevel* trustLvl);

Parameter

trustLvl
Ketika operasi ini selesai, tingkat kepercayaan kelas runtime yang instans ActivationFactory .

Tampilkan Nilai

S_OK jika berhasil; jika tidak, kesalahan pernyataan dipancarkan dan trustLvl diatur ke FullTrust.

ActivationFactory::QueryInterface

Mengambil penunjuk ke 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 parameter riid.

Tampilkan Nilai

S_OK jika berhasil; jika tidak, HRESULT yang menjelaskan kegagalan.

ActivationFactory::Release

Mengurangi jumlah referensi objek saat ini ActivationFactory .

STDMETHOD_(
   ULONG,
   Release
)();

Tampilkan Nilai

S_OK jika berhasil; jika tidak, HRESULT yang menjelaskan kegagalan.