AtlInternalQueryInterface
Recupera un puntatore a un'interfaccia richiesta.
HRESULT AtlInternalQueryInterface(
void* pThis,
const _ATL_INTMAP_ENTRY* pEntries,
REFIID iid,
void** ppvObject
);
Parametri
pThis
[in] il puntatore All'oggetto che contiene la mappa COM interfacce esposto a QueryInterface.pEntries
[in] matrice di strutture _ATL_INTMAP_ENTRY che accedono a un mapping delle interfacce disponibili.iid
[in] Il GUID dell'interfaccia necessaria.ppvObject
[out] puntatore Al puntatore a interfaccia specificato in iid, o NULL se l'interfaccia non trovata.
Valore restituito
Uno dei valori HRESULT standard.
Note
Interfacce di handle diAtlInternalQueryInterface solo nella tabella della mappa COM.Se l'oggetto è aggregato, AtlInternalQueryInterface non delega sconosciuto esterno.È possibile fornire interfacce nella tabella della mappa COM con COM_INTERFACE_ENTRY o che macro delle variabili.
Esempio
// 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 ();
}
Requisiti
Header: atlbase.h
Vedere anche
Riferimenti
CComObjectRootEx::InternalAddRef
CComObjectRootEx::InternalRelease