ICAHtmlPlugin 接口// {9F5EDF05-1E8E-4efd-B832-6B5F018A78CD} const GUID IID_ICAHtmlPlugin = { 0x9f5edf05, 0x1e8e, 0x4efd, { 0xb8, 0x32, 0x6b, 0x5f, 0x1, 0x8a, 0x78, 0xcd } }; interface ICAHtmlPlugin: public IUnknown { virtual HRESULT STDMETHODCALLTYPE Init(ICAHtmlTool* pTool) = 0; virtual HRESULT STDMETHODCALLTYPE Exit() = 0; virtual HRESULT STDMETHODCALLTYPE get_PluginFlags(long* pnFlags) = 0; virtual HRESULT STDMETHODCALLTYPE put_HtmlFlags(long nFlags) = 0; virtual HRESULT STDMETHODCALLTYPE Config() = 0; virtual HRESULT STDMETHODCALLTYPE OnTag(BSTR bstrTag, BSTR* pbstrResult, VARIANT* pvAdditionalResourceURLs) = 0; virtual HRESULT STDMETHODCALLTYPE OnText(BSTR bstrText, BSTR* pbstrResult) = 0; virtual HRESULT STDMETHODCALLTYPE OnProgress(long nProgress) = 0; virtual HRESULT STDMETHODCALLTYPE OnBeforeProcessNode(ICANode* pNode) = 0; virtual HRESULT STDMETHODCALLTYPE OnAfterProcessNode() = 0; virtual HRESULT STDMETHODCALLTYPE OnBeforeProcessHtml(BSTR bstrURL, BSTR bstrHtml, BSTR* pbstrResult) = 0; virtual HRESULT STDMETHODCALLTYPE OnAfterProcessHtml(BSTR bstrHtml, BSTR* pbstrResult) = 0; virtual HRESULT STDMETHODCALLTYPE get_Order(long* pnOrder) = 0; }; Init(ICAHtmlTool* pTool)说明在处理HTML之前初始化插件。
参数
返回
Exit()说明处理完全部HTML,CyberArticle即将卸载HTML插件。
参数无
返回如果插件初始化成功,应该返回S_OK。否则,应该返回E_FAIL。
get_PluginFlags(long* pnFlags)说明CyberArticle调用该方法,来获得HTML插件的一些信息。
参数
返回插件应该返回S_OK。
put_HtmlFlags(long nFlags)说明CyberArticle调用该方法,用来向HTML设置一些信息。
参数
返回插件应该返回S_OK。
Config()说明Cyberarticle会调用该方法,以便用户对插件进行设置。
参数无
返回插件应该返回S_OK。 OnTag(BSTR bstrTag, BSTR* pbstrResult, VARIANT* pvAdditionalResourceURLs)说明CyberArticle处理到一个HTML Tag。
参数
返回如果插件处理了HTML内容,并且通过pbstrResult返回了处理后的结果,插件应该返回S_OK。否则,应该返回S_FALSE。
OnText(BSTR bstrText, BSTR* pbstrResult)说明CyberArticle处理到HTML里面的文字。
参数
返回如果插件处理了HTML内容,并且通过pbstrResult返回了处理后的结果,插件应该返回S_OK。否则,应该返回S_FALSE。
OnProgress(long nProgress)说明CyberArticle处理进度。
参数
返回插件应该返回S_OK。
OnBeforeProcessNode(ICANode* pNode)说明CyberArticle即将处理一个文章。
参数
返回插件应该返回S_OK。
OnAfterProcessNode()说明CyberArticle已经完成处理节点
参数无
返回插件应该返回S_OK。
OnBeforeProcessHtml(BSTR bstrURL, BSTR bstrHtml, BSTR* pbstrResult)说明CyberArticle即将处理某一个HTML文件。
参数
返回如果插件处理了HTML内容,并且通过pbstrResult返回了处理后的结果,插件应该返回S_OK。否则,应该返回S_FALSE。
OnAfterProcessHtml(BSTR bstrHtml, BSTR* pbstrResult)说明CyberArticle已经完成处理一个HTML文件。
参数返回如果插件处理了HTML内容,并且通过pbstrResult返回了处理后的结果,插件应该返回S_OK。否则,应该返回S_FALSE。
get_Order(long* pnOrder)说明CyberArticle通过插件返回的值,来给插件排序,判断调用HTML插件的顺序。
参数
返回插件应该返回S_OK。
注意HTML插件有两个用途:
1:保存网页的时候,用来处理HTML。在这种情况下,接口中所有的方法都会被调用。
2:批量文章处理的时候。插件必须通过get_PluginFlags返回HPF_PROCESS_HTML_TOOL,才会被调用。接口中只有Init,Exit,OnBeforeProcessNode,OnAfterProcessNode,OnBeforeProcessHtml,OnAfterProcessHtml这几个方法被调用。 |
|||||||
|