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 para o objeto que contém o MAP COM interfaces expostas a QueryInterface.

  • pEntries
    [in] Uma matriz de _ATL_INTMAP_ENTRY estruturas que acessam um MAP das interfaces disponível.

  • iid
    [in] O GUID da interface que está sendo solicitado.

  • ppvObject
    [out] Um ponteiro para o ponteiro de interface especificado em iid, ou NULO se a interface não for encontrada.

Valor de retorno

Um dos valores HRESULT padrão.

Comentários

AtlInternalQueryInterface apenas lida com interfaces na tabela de mapeamento COM. Se o objeto é agregado, AtlInternalQueryInterface não delegado a externo desconhecido. Você pode inserir interfaces na tabela de MAP COM a macro COM_INTERFACE_ENTRY ou uma 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

MAP COM funções global