Partager via


AtlInternalQueryInterface

Extrait un pointeur vers l'interface demandée.

HRESULT AtlInternalQueryInterface(
   void* pThis,
   const _ATL_INTMAP_ENTRY* pEntries,
   REFIID iid,
   void** ppvObject 
);

Paramètres

  • pThis
    [in] Pointeur vers l'objet qui contient le mappage d'interfaces COM est exposé à QueryInterface.

  • pEntries
    [in] Un tableau de structures de _ATL_INTMAP_ENTRY qui accèdent à un mappage d'interfaces disponibles.

  • iid
    [in] GUID de l'interface qui est demandée.

  • ppvObject
    [out] Un pointeur vers un pointeur d'interface spécifié dans iid, ou NULL si l'interface est introuvable.

Valeur de retour

L'une des valeurs HRESULT standard.

Notes

Interfaces de handles d'AtlInternalQueryInterface uniquement dans la table COM.Si votre objet est regroupé, AtlInternalQueryInterface ne délègue pas à l'inconnu externe.Vous pouvez écrire des interfaces dans la table COM avec la macro COM_INTERFACE_ENTRY ou de ses variantes.

Exemple

// 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 ();
}

Configuration requise

Header: atlbase.h

Voir aussi

Référence

CComObjectRootEx::InternalAddRef

CComObjectRootEx::InternalRelease

Autres ressources

Fonctions globales de mappage COM