Freigeben über


AtlInternalQueryInterface

Ruft einen Zeiger auf die angeforderte Schnittstelle ab.

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

Parameter

  • pThis
    [in erzielt] Ein Zeiger auf das Objekt, das die COM-Zuordnung von Schnittstellen enthält, zu QueryInterface verfügbar.

  • pEntries
    [in] Ein Array _ATL_INTMAP_ENTRY-Strukturen, die auf eine Zuordnung der verfügbaren Schnittstellen zugreifen.

  • iid
    [in] Die GUID der Schnittstelle, die angefordert wird.

  • ppvObject
    [out] Ein Zeiger auf den Schnittstellenzeiger angegeben in iid oder NULL, wenn die Schnittstelle nicht gefunden wird.

Rückgabewert

Einer der Werte des Standards HRESULT.

Hinweise

Handleschnittstellen AtlInternalQueryInterface nur in der COM-Zuordnungstabelle. Wenn das Objekt aggregiert wird, delegiert AtlInternalQueryInterface nicht des äußeren Unbekannten. Sie können Schnittstellen in die COM-Zuordnungstabelle eingeben mit dem Makro COM_INTERFACE_ENTRY oder einer seiner Varianten.

Beispiel

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

Anforderungen

Header: atlbase.h

Siehe auch

Referenz

CComObjectRootEx::InternalAddRef

CComObjectRootEx::InternalRelease

Weitere Ressourcen

COM Map Global Functions