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
Veri Akışı Adı | Açıklama |
---|---|
ActivationFactory::ActivationFactory | sınıfını ActivationFactory başlatır. |
Genel Yöntemler
Veri Akışı 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
)();
Dönüş 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.
Dönüş 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ı.
Dönüş 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.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, bir onaylama hatası gönderilir ve trustLvl olarak FullTrust
ayarlanı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.
Dönüş 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
)();
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, hatayı açıklayan bir HRESULT.