【发布时间】:2011-07-04 08:01:29
【问题描述】:
我在我的应用程序中使用 IWebBrowser2 控件来显示外部网页。 问题是对象对于脚本来说是不安全的,并且对 get_Document 的调用失败(返回值是 S_FALSE)。
我实现了一个新类 IScriptableWebBrowser2,它继承自 IWebBrowser2 和 IObjectSafety,并尝试使用它来代替 IWebBrowser2,但没有成功。
如何使我的 IWebBrowser2 控件对脚本安全?
class IScriptableWebBrowser2 :
public CComObjectRootEx<CComSingleThreadModel>,
public IWebBrowser2,
public IObjectSafety
{
BEGIN_COM_MAP(IScriptableWebBrowser2)
COM_INTERFACE_ENTRY(IObjectSafety)
END_COM_MAP()
// IObjectSafety implementation
STDMETHODIMP GetInterfaceSafetyOptions(REFIID riid,
DWORD *pdwSupportedOptions,
DWORD *pdwEnabledOptions )
{
*pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER |
INTERFACESAFE_FOR_UNTRUSTED_DATA;
*pdwEnabledOptions = *pdwSupportedOptions;
return S_OK;
}
STDMETHODIMP SetInterfaceSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions)
{
return S_OK;
}
};
【问题讨论】:
标签: winapi iwebbrowser2