Поделиться через


AtlInternalQueryInterface

Извлекает указатель на запрашиваемый интерфейс.

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

Параметры

  • pThis
    [in] Указатель на объект, который содержит сопоставление модели COM интерфейс предоставлял к QueryInterface.

  • pEntries
    [in] Массив структур _ATL_INTMAP_ENTRY, которые обращаются к сопоставления доступных интерфейсов.

  • iid
    [in] Идентификатор GUID, спрашиванной интерфейса.

  • ppvObject
    [out] Указатель на указатель интерфейса, указанному в iid или NULL если интерфейс не найден.

Возвращаемое значение

Один из стандартных значений HRESULT.

Заметки

Интерфейсы маркеров AtlInternalQueryInterface только в таблице сопоставлений модели COM. Если объект статистической обработки, не AtlInternalQueryInterface делегатов к внешнему неизвестный тип. Можно ввести интерфейсы в таблицу сопоставления модели COM с макросом COM_INTERFACE_ENTRY или одним из его вариантов.

Пример

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

Требования

Header: atlbase.h

См. также

Ссылки

CComObjectRootEx::InternalAddRef

CComObjectRootEx::InternalRelease

Другие ресурсы

COM Map Global Functions