AtlInternalQueryInterface
擷取指標所要求的介面。
HRESULT AtlInternalQueryInterface(
void* pThis,
const _ATL_INTMAP_ENTRY* pEntries,
REFIID iid,
void** ppvObject
);
參數
pThis
[out] 包含 COM 介面對應的物件指標上公開的 QueryInterface。pEntries
[in] 陣列存取可用介面對應的 _ATL_INTMAP_ENTRY 結構。iid
[in] 所要求介面的 GUID。ppvObject
[in] 要在 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