Aracılığıyla paylaş


Kategori Makroları

Bu makrolar kategori eşlemelerini tanımlar.

Makro Açıklama
BEGIN_CATEGORY_MAP Kategori haritasının başlangıcını işaretler.
END_CATEGORY_MAP Kategori haritasının sonunu işaretler.
IMPLEMENTED_CATEGORY COM nesnesi tarafından uygulanan kategorileri gösterir.
REQUIRED_CATEGORY COM nesnesi tarafından kapsayıcının gerekli olduğu kategorileri gösterir.

Gereksinimler

Üst bilgi: atlcom.h

BEGIN_CATEGORY_MAP

Kategori haritasının başlangıcını işaretler.

BEGIN_CATEGORY_MAP(theClass)

Parametreler

theClass
[in] Kategori eşlemesini içeren sınıfın adı.

Açıklamalar

Kategori eşlemesi, COM sınıfının hangi bileşen kategorilerini uygulayacağını ve kapsayıcısından hangi kategorileri gerektirdiğini belirtmek için kullanılır.

COM sınıfı tarafından uygulanan her kategori için haritaya bir IMPLEMENTED_CATEGORY girdisi ekleyin. Sınıfının istemcilerinin uygulamasını gerektirdiği her kategori için eşlemeye bir REQUIRED_CATEGORY girdisi ekleyin. Eşlemenin sonunu END_CATEGORY_MAP makroyla işaretleyin.

Sınıfın ilişkili bir OBJECT_ENTRY_AUTO veya OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO varsa, modül kaydedildiğinde haritada listelenen bileşen kategorileri otomatik olarak kaydedilir.

Not

ATL, bileşen kategorilerini kaydetmek için standart bileşen kategorileri yöneticisini kullanır. Modül kaydedildiğinde yönetici sistemde yoksa, kayıt başarılı olur, ancak bileşen kategorileri bu sınıf için kaydedilmez.

Bileşen kategorileri hakkında daha fazla bilgi için bkz . Bileşen Kategorileri nedir ve Windows SDK'sında nasıl çalışırlar ?

Örnek

BEGIN_CATEGORY_MAP(CMyCtrl)
   IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()

END_CATEGORY_MAP

Kategori haritasının sonunu işaretler.

END_CATEGORY_MAP()

Örnek

BEGIN_CATEGORY_MAP örneğine bakın.

IMPLEMENTED_CATEGORY

Bileşeninizin kategori haritasına bir IMPLEMENTED_CATEGORY makro ekleyerek catID parametresi tarafından tanımlanan kategoriyi uygulayacak şekilde kaydedilmesi gerektiğini belirtin.

IMPLEMENTED_CATEGORY(catID)

Parametreler

catID
[in] Uygulanan kategori için genel benzersiz tanımlayıcıyı (GUID) tutan bir CATID sabiti veya değişkeni. CatID adresi alınır ve haritaya eklenir. Çeşitli hisse senedi kategorileri için aşağıdaki tabloya bakın.

Açıklamalar

Sınıfında ilişkili bir OBJECT_ENTRY_AUTO veya OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO makro varsa, modül kaydedildiğinde haritada listelenen bileşen kategorileri otomatik olarak kaydedilir.

İstemciler, sınıfın bir örneğini oluşturmak zorunda kalmadan özelliklerini ve gereksinimlerini belirlemek için sınıf için kaydedilen kategori bilgilerini kullanabilir.

Bileşen kategorileri hakkında daha fazla bilgi için bkz . Bileşen Kategorileri nedir ve Windows SDK'sında nasıl çalışırlar ?

Hisse Senedi Kategorileri Seçimi

Açıklama Simge Kayıt Defteri GUID'i
Betik oluşturma için güvenli CATID_SafeForScripting {7DD95801-9882-11CF-9FA9-00AA006C42C4}
Başlatma için Güvenli CATID_SafeForInitializing {7DD95802-9882-11CF-9FA9-00AA006C42C4}
Basit Çerçeve Site Kapsaması CATID_SimpleFrameControl {157083E0-2368-11cf-87B9-00AA006C8166}
Basit Veri Bağlama CATID_PropertyNotifyControl {157083E1-2368-11cf-87B9-00AA006C8166}
Gelişmiş Veri Bağlama CATID_VBDataBound {157083E2-2368-11cf-87B9-00AA006C8166}
Penceresiz Denetimler CATID_WindowlessObject {1D06B600-3AE3-11cf-87B9-00AA006C8166}
İnternet'e Duyarlı Nesneler Örnek liste için bkz . Windows SDK'sında İnternet'e Duyarlı Nesneler .

Örnek

BEGIN_CATEGORY_MAP(CMyCtrl)
   IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()

REQUIRED_CATEGORY

Bileşeninizin kategori haritasına bir REQUIRED_CATEGORY makro ekleyerek catID parametresi tarafından tanımlanan kategorinin gerekli olması gerektiğini belirtin.

REQUIRED_CATEGORY( catID )

Parametreler

catID
[in] Gerekli kategori için genel benzersiz tanımlayıcıyı (GUID) tutan BIR CATID sabiti veya değişkeni. CatID adresi alınır ve haritaya eklenir. Çeşitli hisse senedi kategorileri için aşağıdaki tabloya bakın.

Açıklamalar

Sınıfında ilişkili bir OBJECT_ENTRY_AUTO veya OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO makro varsa, modül kaydedildiğinde haritada listelenen bileşen kategorileri otomatik olarak kaydedilir.

İstemciler, sınıfın bir örneğini oluşturmak zorunda kalmadan özelliklerini ve gereksinimlerini belirlemek için sınıf için kaydedilen kategori bilgilerini kullanabilir. Örneğin, bir denetim için kapsayıcının veri bağlamayı desteklemesi gerekebilir. Kapsayıcı, denetimin gerektirdiği kategoriler için kategori yöneticisini sorgulayarak denetimi barındırmak için gerekli özelliklere sahip olup olmadığını bulabilir. Kapsayıcı gerekli bir özelliği desteklemiyorsa, COM nesnesini barındırmayı reddedebilir.

Örnek liste de dahil olmak üzere bileşen kategorileri hakkında daha fazla bilgi için bkz . Bileşen Kategorileri nedir ve Windows SDK'sında nasıl çalışırlar ?

Hisse Senedi Kategorileri Seçimi

Açıklama Simge Kayıt Defteri GUID'i
Betik oluşturma için güvenli CATID_SafeForScripting {7DD95801-9882-11CF-9FA9-00AA006C42C4}
Başlatma için Güvenli CATID_SafeForInitializing {7DD95802-9882-11CF-9FA9-00AA006C42C4}
Basit Çerçeve Site Kapsaması CATID_SimpleFrameControl {157083E0-2368-11cf-87B9-00AA006C8166}
Basit Veri Bağlama CATID_PropertyNotifyControl {157083E1-2368-11cf-87B9-00AA006C8166}
Gelişmiş Veri Bağlama CATID_VBDataBound {157083E2-2368-11cf-87B9-00AA006C8166}
Penceresiz Denetimler CATID_WindowlessObject {1D06B600-3AE3-11cf-87B9-00AA006C8166}
İnternet'e Duyarlı Nesneler Örnek liste için bkz . Windows SDK'sında İnternet'e Duyarlı Nesneler .

Örnek

BEGIN_CATEGORY_MAP(CMyWindow)
   REQUIRED_CATEGORY(CATID_InternetAware)
END_CATEGORY_MAP()

Ayrıca bkz.

Makrolar