AtlInternalQueryInterface

Recupera um ponteiro para a interface solicitada.

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

Parâmetros

  • pThis
    [in] um ponteiro ao objeto que contém o mapa de interfaces COM tenha expostos a QueryInterface.

  • pEntries
    [in] um vetor de estruturas de _ATL_INTMAP_ENTRY que acessam um mapa de interfaces disponíveis.

  • iid
    [in] GUID de interface que está sendo solicitada.

  • ppvObject
    [out] um ponteiro ao ponteiro de interface especificada em iid, ou NULO se a interface não for encontrada.

Valor de retorno

Um dos valores padrão do HRESULT.

Comentários

AtlInternalQueryInterface trata apenas interfaces na tabela do mapa da.Se o objeto é agregado, AtlInternalQueryInterface não delega ao desconhecido externo.Você pode inserir interfaces na tabela de mapa de COM_INTERFACE_ENTRY COM com macros ou de suas variantes.

Exemplo

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

Requisitos

Cabeçalho: atlbase.h

Consulte também

Referência

CComObjectRootEx::InternalAddRef

CComObjectRootEx::InternalRelease

Outros recursos

Funções globais do mapa COM