Aracılığıyla paylaş


ActivationFactory Sınıfı

bir veya daha fazla sınıfın Windows Çalışma Zamanı tarafından etkinleştirilmesini sağlar.

Sözdizimi

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

Parametreler

I0
Sıfırıncı arabirim.

I1
İlk arabirim.

I2
İkinci arabirim.

Açıklamalar

ActivationFactory , arabirim için IActivationFactory kayıt yöntemleri ve temel işlevler sağlar. ActivationFactory ayrıca özel bir fabrika uygulaması sağlamanıza da olanak tanır.

Aşağıdaki kod parçası, ActivationFactory'nin nasıl kullanılacağını sembolik olarak gösterir.

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

Aşağıdaki kod parçası, üçten fazla arabirim kimlikleri belirtmek için Implements yapısının nasıl kullanılacağını gösterir.

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

Üyeler

Ortak Oluşturucular

Adı Açıklama
ActivationFactory::ActivationFactory sınıfını ActivationFactory başlatır.

Genel Yöntemler

Adı Açıklama
ActivationFactory::AddRef Geçerli ActivationFactory nesnenin başvuru sayısını artırır.
ActivationFactory::GetIids Uygulanan arabirim kimlikleri dizisini alır.
ActivationFactory::GetRuntimeClassName Geçerli ActivationFactory örneği oluşturan nesnenin çalışma zamanı sınıf adını alır.
ActivationFactory::GetTrustLevel Geçerli ActivationFactory örneğin oluşturduğu nesnenin güven düzeyini alır.
ActivationFactory::QueryInterface Belirtilen arabirim için bir işaretçi alır.
ActivationFactory::Release Geçerli ActivationFactory nesnenin başvuru sayısını azaltma.

Devralma Hiyerarşisi

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ActivationFactory

Gereksinimler

Üst bilgi: module.h

Ad Alanı: Microsoft::WRL

ActivationFactory::ActivationFactory

sınıfını ActivationFactory başlatır.

ActivationFactory();

ActivationFactory::AddRef

Geçerli ActivationFactory nesnenin başvuru sayısını artırır.

STDMETHOD_(
   ULONG,
   AddRef
)();

İade Değeri

Başarılı olursa S_OK; aksi takdirde, hatayı açıklayan bir HRESULT.

ActivationFactory::GetIids

Uygulanan arabirim kimlikleri dizisini alır.

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

Parametreler

iidCount
Bu işlem tamamlandığında, iids dizisindeki arabirim kimliklerinin sayısı.

iid'ler
Bu işlem tamamlandığında, uygulanan arabirim kimlikleri dizisi.

İade Değeri

Başarılı olursa S_OK; aksi takdirde, hatayı açıklayan bir HRESULT. E_OUTOFMEMORY olası bir hata HRESULT'dir.

ActivationFactory::GetRuntimeClassName

Geçerli ActivationFactory örneği oluşturan nesnenin çalışma zamanı sınıf adını alır.

STDMETHOD(
   GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);

Parametreler

runtimeName
Bu işlem tamamlandığında, geçerli ActivationFactory örneğinin oluşturduğu nesnenin çalışma zamanı sınıf adını içeren bir dizenin tanıtıcısı.

İade Değeri

Başarılı olursa S_OK; aksi takdirde, hatayı açıklayan bir HRESULT.

ActivationFactory::GetTrustLevel

Geçerli ActivationFactory örneğin oluşturduğu nesnenin güven düzeyini alır.

STDMETHOD(
   GetTrustLevel
)(_Out_ TrustLevel* trustLvl);

Parametreler

trustLvl
Bu işlem tamamlandığında, örneği oluşturan çalışma zamanı sınıfının ActivationFactory güven düzeyi.

İade Değeri

Başarılı olursa S_OK; aksi takdirde, bir onaylama hatası gönderilir ve trustLvl olarak FullTrustayarlanır.

ActivationFactory::QueryInterface

Belirtilen arabirim için 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, riid parametresi tarafından belirtilen arabirime yönelik bir işaretçi.

İade Değeri

Başarılı olursa S_OK; aksi takdirde, hatayı açıklayan bir HRESULT.

ActivationFactory::Release

Geçerli ActivationFactory nesnenin başvuru sayısını azaltma.

STDMETHOD_(
   ULONG,
   Release
)();

İade Değeri

Başarılı olursa S_OK; aksi takdirde, hatayı açıklayan bir HRESULT.