AtlInternalQueryInterface

检索指向请求的接口。

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

参数

  • pThis
    [out]一个指向包含COM接口映射对象的指针显示了 QueryInterface

  • pEntries
    [out]一个数组 _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映射全局函数