Udostępnij za pośrednictwem


AtlInternalQueryInterface

Pobiera wskaźnik do żądanego interfejsu.

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

Parametry

  • pThis
    [w] Wskaźnik do obiektu, który zawiera mapę COM interfejsów narażone na QueryInterface.

  • pEntries
    [w] Tablica _ATL_INTMAP_ENTRY struktur, które mapa dostępnych interfejsów dostępu.

  • iid
    [w] Identyfikator GUID interfejsu żądana.

  • ppvObject
    [out] Wskaźnik do wskaźnika interfejsu określonego w iid, lub NULL , jeśli nie znaleziono interfejsu.

Wartość zwracana

Jeden standardowy wartości HRESULT.

Uwagi

AtlInternalQueryInterfaceobsługuje tylko interfejsów COM tabeli mapy.Jeśli obiekt jest zagregowane, AtlInternalQueryInterface nie delegować do zewnętrznego nieznany.Interfejsy można wprowadzać do tabeli mapę COM z makra COM_INTERFACE_ENTRY lub jednego z jego odmiany.

Przykład

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

Wymagania

Nagłówek: atlbase.h

Zobacz też

Informacje

CComObjectRootEx::InternalAddRef

CComObjectRootEx::InternalRelease

Inne zasoby

Funkcje globalne mapę COM