Nesne İşleme Makroları
Bu makrolar nesne eşlemelerini ve girdilerini tanımlar.
Veri Akışı Adı | Açıklama |
---|---|
DECLARE_OBJECT_DESCRIPTION | Bir sınıf nesnesinin nesne eşlemesine girilecek metin açıklamasını belirtmenize olanak tanır. |
OBJECT_ENTRY_AUTO | Nesne eşlemesine bir ATL nesnesi girer, kayıt defterini güncelleştirir ve nesnenin bir örneğini oluşturur. |
OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO | Nesnenin kaydedilmesi ve başlatılması gerektiğini belirtmenize olanak tanır, ancak aracılığıyla CoCreateInstance dışarıdan oluşturulamaz. |
Gereksinimler
Üst bilgi: atlcom.h
DECLARE_OBJECT_DESCRIPTION
Sınıf nesneniz için bir metin açıklaması belirtmenize olanak tanır.
DECLARE_OBJECT_DESCRIPTION( x )
Parametreler
x
[in] Sınıf nesnesinin açıklaması.
Açıklamalar
ATL bu açıklamayı OBJECT_ENTRY_AUTO makro aracılığıyla nesne eşlemesine girer.
DECLARE_OBJECT_DESCRIPTION CComCoClass::GetObjectDescription yöntemini geçersiz kılmak için kullanabileceğiniz bir GetObjectDescription
işlev uygular.
GetObjectDescription
işlevi tarafından IComponentRegistrar::GetComponents
çağrılır. IComponentRegistrar
, DLL'de tek tek bileşenleri kaydetmenize ve kaydını kaldırmanıza olanak tanıyan bir Otomasyon arabirimidir. ATL Proje Sihirbazı ile bir Bileşen Kayıt Şirketi nesnesi oluşturduğunuzda, sihirbaz arabirimi otomatik olarak uygular IComponentRegistrar
. IComponentRegistrar
genellikle Microsoft Transaction Server tarafından kullanılır.
ATL Proje Sihirbazı hakkında daha fazla bilgi için ATL Projesi Oluşturma makalesine bakın.
Örnek
class ATL_NO_VTABLE CMyDescribedClass :
public CComObjectRoot,
public CComCoClass<CMyDescribedClass, &CLSID_MyDescribedClass>
{
public:
CMyDescribedClass()
{
}
// Override CComCoClass::GetObjectDescription
DECLARE_OBJECT_DESCRIPTION("My Described Object 1.0")
};
OBJECT_ENTRY_AUTO
Nesne eşlemesine bir ATL nesnesi girer, kayıt defterini güncelleştirir ve nesnenin bir örneğini oluşturur.
OBJECT_ENTRY_AUTO( clsid, class )
Parametreler
clsid
[in] adlı C++ sınıfı tarafından uygulanan bir COM sınıfının CLSID'si.
class
[in] clsid tarafından temsil edilen COM sınıfını uygulayan C++ sınıfının adı.
Açıklamalar
Nesne girişi makroları, bir sınıfın kaydı, başlatılması ve oluşturulması için destek sağlamak üzere projedeki genel kapsama yerleştirilir.
OBJECT_ENTRY_AUTO, bu nesne için oluşturan sınıfın ve sınıf-fabrika oluşturucu sınıfı CreateInstance
işlevlerinin işlev işaretçilerini otomatik olarak oluşturulan ATL nesne eşlemesine girer. CAtlComModule::RegisterServer çağrıldığında, nesne eşlemesindeki her nesne için sistem kayıt defterini güncelleştirir.
Aşağıdaki tabloda, nesne eşlemesine eklenen bilgilerin bu makronun ikinci parametresi olarak verilen sınıftan nasıl alındığı açıklanmaktadır.
Için bilgiler | Şu kaynaktan elde edildi: |
---|---|
COM kaydı | Kayıt Defteri Makroları |
Sınıf fabrikası oluşturma | Sınıf Fabrikası Makroları |
Örnek oluşturma | Toplama Makroları |
Bileşen kategorisi kaydı | Kategori Makroları |
Sınıf düzeyinde başlatma ve temizleme | ObjectMain |
OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO
Nesnenin kaydedilmesi ve başlatılması gerektiğini belirtmenize olanak tanır, ancak aracılığıyla CoCreateInstance
dışarıdan oluşturulamaz.
OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO( clsid, class )
Parametreler
clsid
[in] adlı C++ sınıfı tarafından uygulanan bir COM sınıfının CLSID'si.
class
[in] clsid tarafından temsil edilen COM sınıfını uygulayan C++ sınıfının adı.
Açıklamalar
Nesne girişi makroları, bir sınıfın kaydı, başlatılması ve oluşturulması için destek sağlamak üzere projedeki genel kapsama yerleştirilir.
OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO, bir nesnenin kaydedilmesi ve başlatılması gerektiğini belirtmenize olanak tanır (daha fazla bilgi için bkz . OBJECT_ENTRY_AUTO ), ancak aracılığıyla CoCreateInstance
oluşturulamaz.