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] com haritası için sergilenen arabirimleri içeren nesneye bir işaretçi QueryInterface.pEntries
[in] Bir dizi _ATL_INTMAP_ENTRY kullanılabilir arabirimleri haritasını erişmek yapıları.iid
[in] İstenen arabirim GUID.ppvObject
[Çıkış] Belirtilen arabirim işaretçisi bir işaretçi iid, veya null arabiriminin bulunmaması durumunda.
Dönüş Değeri
Standart hresult değerleri biri.
Notlar
AtlInternalQueryInterfacearabirimleri com eşleme tablosunda yalnızca işler.Nesnenizin toplanan, AtlInternalQueryInterface için dış bilinmeyen temsilci değil.Arabirimleri, com eşleme tablosu makro girebilirsiniz COM_INTERFACE_ENTRY veya türevlerinden biri.
Ö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 ();
}
Gereksinimler
Başlık: atlbase.h
Ayrıca bkz.
Başvuru
CComObjectRootEx::InternalAddRef
CComObjectRootEx::InternalRelease