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