Sdílet prostřednictvím


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

Další zdroje

Globální funkce mapy COM