Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 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.
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.