AtlInternalQueryInterface
Načte ukazatel na požadované rozhraní.
HRESULT AtlInternalQueryInterface(
void* pThis,
const _ATL_INTMAP_ENTRY* pEntries,
REFIID iid,
void** ppvObject
);
Parametry
pThis
[v] Ukazatel na objekt, který obsahuje mapu vystavených rozhraní COM QueryInterface .pEntries
[v] Pole _ATL_INTMAP_ENTRY struktury, které mapě dostupná rozhraní.iid
[v] Identifikátor GUID rozhraní požadovány.ppvObject
[výstup] Ukazatel na ukazatele rozhraní zadané v iid , nebo NULL Pokud není nalezen rozhraní.
Vrácená hodnota
Jeden standardní hodnoty HRESULT.
Poznámky
AtlInternalQueryInterfacezpracovává pouze rozhraní COM rozvržení tabulky.Pokud je objekt seskupeny, AtlInternalQueryInterface nelze delegovat na vnější neznámý.Rozhraní můžete zadat do tabulky mapování COM se makro COM_INTERFACE_ENTRY nebo jeden z jeho variant.
Příklad
// 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 ();
}
Požadavky
Záhlaví: atlbase.h
Viz také
Referenční dokumentace
CComObjectRootEx::InternalAddRef
CComObjectRootEx::InternalRelease