Aracılığıyla paylaş


COM_INTERFACE_ENTRY makrolar

Tarafından erişilebilen biçimde bu makroları nesnenin arabirimleri, com eşlemenin içine girmek QueryInterface.com eşlemedeki girdiler sipariş arabirimleri seçili olması için eşleşen sırasıdır IID sırasında QueryInterface.

Arabirimleri aracılığıyla duyurmak için istediği her nesnenin QueryInterface , kendi com haritası olması gerekir.com haritası makro ile başlayan BEGIN_COM_MAP.Bir veya daha fazla arabirim girdisi eklenir COM_INTERFACE_ENTRY ile makrolar ve harita tamamlandığında end_com_map makro.Örne?in:

BEGIN_COM_MAP(CMyObject)
   COM_INTERFACE_ENTRY(IMyObject)
   COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()

com eşleme dosyasındaki ilk girdi com eşlemeyi içeren nesne bir arabirimde olması gerektiğini unutmayın.Bu nedenle, com haritası girdilerinizi başlatılamıyor COM_INTERFACE_ENTRY_CHAIN, noktada aranacak farklı bir nesne com haritasını neden burada COM_INTERFACE_ENTRY_CHAIN (COtherObject) , nesnenin com Haritası'nda görünür.Başka bir nesne com haritasını ilk arama yapmak isterseniz, arabirim girdisi Ekle IUnknown com haritanızda diğer nesnenin com haritası sonra zincir.Örne?in:

BEGIN_COM_MAP(CThisObject)
   COM_INTERFACE_ENTRY(IUnknown)
   COM_INTERFACE_ENTRY_CHAIN(CBase)
END_COM_MAP()
Uyarı notuUyarı

Sürüm 3.0 atl derleyici anahtar sözcüğü kullanan __uuidof (class) belirli bir sınıf için karşılık gelen IID elde etmek için.Değişiklikleri nedeniyle COM_INTERFACE_ENTRY makrolar etkin sürüm 3.0, artık sadece bu arabirimin eşleşen IID'leri tanımlayan bir kitaplık da bağlama yerine kullanılacak arabirimi için başlığı dahil et.Bu değişiklik, üstbilgi MIDL eski bir sürümünü önceden oluşturulmuşsa veya elle kodlanmış ve uygun şekilde işaretlenmemiş sorunlara neden olabilir.Bildirimi üstbilgisindeki arabirimi için işaretlenmemiş ise ile ilişkilendirilmiş bir __declspec ( UUID ), herhangi kullanmayı dene __uuidof anahtar sözcüğünü bu arabirim için başarısız olur.Eski (atl 2.x için) geri dönmek COM_INTERFACE_ENTRY tanımlayarak makroları _ATL_NO_UUIDOF yapı ayarlarınızda herhangi bir sorun bu davranışı geçici olarak çözmek için.

com eşleme girdisi makrolar

Kullanılabilir giriş makroları şunlardır:

Gereksinimler

Başlık: atlcom.h

Ayrıca bkz.

Diğer Kaynaklar

com haritası makrolar

ATL Makroları