Compartir a través de


AtlInternalQueryInterface

recupera un puntero a la interfaz solicitada.

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

Parámetros

  • pThis
    [in] el puntero Al objeto que contiene el mapa COM de interfaces expuesto a QueryInterface.

  • pEntries
    [in] matriz de estructuras de _ATL_INTMAP_ENTRY que tienen acceso a un mapa de interfaces disponibles.

  • iid
    [in] GUID de la interfaz que es solicitada.

  • ppvObject
    [out] puntero Al puntero de interfaz especificado en iid, o NULL si la interfaz no se encuentra.

Valor devuelto

Uno de los valores estándar de HRESULT.

Comentarios

las interfaces de los identificadores deAtlInternalQueryInterface sólo en COM asignan la tabla.Si se agrega el objeto, AtlInternalQueryInterface no delega el desconocido externo.Puede incorporar interfaces de la tabla de mapa COM con COM_INTERFACE_ENTRY o la macro de sus variantes.

Ejemplo

// 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

encabezado: atlbase.h

Vea también

Referencia

CComObjectRootEx::InternalAddRef

CComObjectRootEx::InternalRelease

Otros recursos

COM asigna funciones globales