COM Eşlemesi Genel İşlevleri
Bu işlevler COM Eşlemesi IUnknown
uygulamaları için destek sağlar.
İşlev | Tanım |
---|---|
AtlInternalQueryInterface | IUnknown Toplanmamış bir nesnenin temsilcisi. |
InlineIsEqualIUnknown | ile arabirimleri IUnknown karşılaştırmak için verimli kod oluşturur. |
Gereksinimler
Üst bilgi: atlbase.h
AtlInternalQueryInterface
İstenen arabirim için bir işaretçi alır.
HRESULT AtlInternalQueryInterface(
void* pThis,
const _ATL_INTMAP_ENTRY* pEntries,
REFIID iid,
void** ppvObject);
Parametreler
pThis
[in] öğesine sunulan arabirimlerin COM eşlemesini içeren nesneye QueryInterface
yönelik bir işaretçi.
pEntries
[in] Kullanılabilir arabirimlerin _ATL_INTMAP_ENTRY
haritasına erişen bir yapı dizisi.
ııd
[in] İstenen arabirimin GUID'i.
ppvObject
[out] iid içinde belirtilen arabirim işaretçisi işaretçisi veya arabirim bulunamazsa NULL.
İade Değeri
Standart HRESULT değerlerinden biri.
Açıklamalar
AtlInternalQueryInterface
yalnızca COM eşleme tablosundaki arabirimleri işler. Nesneniz toplanmışsa, AtlInternalQueryInterface
dış bilinmeyene temsilci seçmez. COM eşleme tablosuna makro COM_INTERFACE_ENTRY veya değişkenlerinden biriyle arabirimler girebilirsiniz.
Örnek
// MyTimerProc is a callback function passed to SetTimer()
VOID CALLBACK MyTimerProc(HWND /*hwnd*/, UINT /*uMsg*/, UINT /*idEvent*/,
DWORD /*dwTime*/)
{
LPDISPATCH pDisp = NULL;
// gpMyCtrl is a global variable of type CMyCtrl*
// _GetEntries() is a static function you get with BEGIN_COM_MAP()
AtlInternalQueryInterface (gpMyCtrl, CMyCtrl::_GetEntries(), IID_IDispatch,
(LPVOID*)&pDisp);
//...
pDisp->Release ();
}
InlineIsEqualIUnknown
için özel test örneği için IUnknown
bu işlevi çağırın.
BOOL InlineIsEqualUnknown(REFGUID rguid1);
Parametreler
rguid1
[in] ile karşılaştıracak IID_IUnknown
GUID.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin