如网页中的flash的IShockwaveFlash接口?
HRESULT CDHtmlDialog::GetControlDispatch(LPCTSTR szId, IDispatch **ppdisp)
{
HRESULT hr = S_OK;
CComPtr<IDispatch> spdispElem;
hr = GetElement(szId, &spdispElem);
if (spdispElem)
{
CComPtr<IHTMLObjectElement> sphtmlObj;
hr = spdispElem.QueryInterface(&sphtmlObj);
if (sphtmlObj)
{
spdispElem.Release();
hr = sphtmlObj->get_object(ppdisp);
}
}
return hr;
}
CLSID和IID不一样的,一个是对象ID,一个是接口ID
#import "flash.dll" raw_interfaces_only
CComQIPtr<ShockwaveFlashObjects::IShockwaveFlash, &IID_IUnknown> m_flashViewer(spdispElem);