Condividi tramite


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

Altre risorse

Funzioni globali di mappa COM