首页 > Wiz, Wiz二次开发 > WizKnowledge COM对象之IWizTag和IWizTagGroup

WizKnowledge COM对象之IWizTag和IWizTagGroup


IWizTag,IWizTagGroup是WizKMCore.dll包含的COM对象。标签/标签组对象必须隶属于一个数据库,因此您不能直接创建标签/标签组对象,而是需要通过IWizDatabase对象来获得数据库中的标签/标签组对象。
通过IWizDatabase.Tags,可以获得数据库的标签信息,通过IWizDatabase.TagGroups,可以获得数据库中的标签组信息。

 
IWizTagCollection是标签对象IWizTag的一个集合(数据),当需要返回一个IWizTag集合的时候,会返回这个对象,例如IWizDocument.Tags属性,就会返回这个对象。
这个对象实现了IEnumXXXX 接口,这样在某些语言内,可以通过fore_each来枚举集合内的每一个对象。
 
IWizTagGroupCollection是标签对象IWizTagGroup的一个集合(数据),当需要返回一个IWizTagGroup集合的时候,会返回这个对象,例如IWizDatabase.TagGroups属性,就会返回这个对象。
这个对象实现了IEnumXXXX 接口,这样在某些语言内,可以通过fore_each来枚举集合内的每一个对象。
  • 文件:WizKMCore.dll

 

IWizTagGroupCollection

[
    object,
    uuid(E102B2BE-C790-4EFA-ABE4-8421E8DD714C),
    dual,
    nonextensible,
    helpstring("IWizTagGroupCollection Interface"),
    pointer_default(unique)
]
interface IWizTagGroupCollection : IDispatch{

    //生成一个新的IEnumXXXX类型的接口,可以在某些语言内使用for_each类型的语法。
    [id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk);

    //获得某一个对象。Index:索引值,以0开始;返回值:IWizTagGroup对象
    [id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IDispatch** pVal);

    //获得集合内元素的数量
    [id(1), propget] HRESULT Count([out, retval] long * pVal);
};

 

IWizTagGroup

[
    object,
    uuid(1081064D-39AA-4225-8D6D-CB856C7F3ED5),
    dual,
    nonextensible,
    helpstring("IWizTagGroup Interface"),
    pointer_default(unique)
]
interface IWizTagGroup : IDispatch{

    //获得标签组的GUID
    [propget, id(1), helpstring("property GUID")] HRESULT GUID([out, retval] BSTR* pVal);

    //获得/设置标签组的名称
    [propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
    [propput, id(2), helpstring("property Name")] HRESULT Name([in] BSTR newVal);

    //获得/设置标签组的描述
    [propget, id(3), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
    [propput, id(3), helpstring("property Description")] HRESULT Description([in] BSTR newVal);

    //获得标签组的修改时间
    [propget, id(4), helpstring("property DateModified")] HRESULT DateModified([out, retval] DATE* pVal);

    //获得标签组所包含的标签
    [propget, id(5), helpstring("property Tags")] HRESULT Tags([out, retval] IDispatch** pVal);

    //获得/设置标签组的版本,保留
    [propget, id(6), helpstring("property Version")] HRESULT Version([out, retval] LONGLONG* pVal);
    [propput, id(6), helpstring("property Version")] HRESULT Version([in] LONGLONG newVal);

    //获得标签组所属的数据库
    [propget, id(7), helpstring("property Database")] HRESULT Database([out, retval] IDispatch** pVal);

    //创建一个标签。bstrTagName:标签名称;bstrTagDescritpion:标签描述;返回值:成功创建的标签对象,类型为IWizTag
    [id(8), helpstring("method CreateTag")] HRESULT CreateTag([in] BSTR bstrTagName, [in] BSTR bstrTagDescritpion, [out,retval] IDispatch** ppNewTagDisp);

    //删除标签组以及包含的标签
    [id(9), helpstring("method Delete")] HRESULT Delete(void);

    //重新从数据库中获得标签组的信息
    [id(10), helpstring("method Reload")] HRESULT Reload(void);
};

 

IWizTagCollection

[
    object,
    uuid(9B636DAC-CCF9-481E-8519-5662F35C6B0D),
    dual,
    nonextensible,
    helpstring("IWizTagCollection Interface"),
    pointer_default(unique)
]
interface IWizTagCollection : IDispatch{

    //生成一个新的IEnumXXXX类型的接口,可以在某些语言内使用for_each类型的语法。
    [id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk);

    //获得某一个对象。Index:索引值,以0开始;返回值:IWizTag对象
    [id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IDispatch** pVal);

    //获得集合内元素的数量
    [id(1), propget] HRESULT Count([out, retval] long * pVal);

    //添加一个标签
    [id(2), helpstring("method Add")] HRESULT Add([in] IDispatch* pTagDisp);
};

 

IWizTag

[
    object,
    uuid(C710180C-D3F6-4F25-B981-B6820B01C67C),
    dual,
    nonextensible,
    helpstring("IWizTag Interface"),
    pointer_default(unique)
]
interface IWizTag : IDispatch{

    //获得标签的GUID
    [propget, id(1), helpstring("property GUID")] HRESULT GUID([out, retval] BSTR* pVal);

    //获得/设置标签所属的标签组,类型为IWizTagGroup
    [propget, id(2), helpstring("property TagGroup")] HRESULT TagGroup([out, retval] IDispatch** pVal);
    [propput, id(2), helpstring("property TagGroup")] HRESULT TagGroup([in ] IDispatch* newVal);

    //获得/设置标签的名称
    [propget, id(3), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
    [propput, id(3), helpstring("property Name")] HRESULT Name([in] BSTR newVal);

    //获得/设置标签的描述
    [propget, id(4), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
    [propput, id(4), helpstring("property Description")] HRESULT Description([in] BSTR newVal);

    //获得标签的须改时间
    [propget, id(5), helpstring("property DateModified")] HRESULT DateModified([out, retval] DATE* pVal);

    //获得具有该标签的所有文档
    [propget, id(6), helpstring("property Documents")] HRESULT Documents([out, retval] IDispatch** pVal);

    //获得标签所属的标签组的GUID
    [propget, id(7), helpstring("property TagGroupGUID")] HRESULT TagGroupGUID([out, retval] BSTR* pVal);

    //获得/设置标签的版本。保留
    [propget, id(8), helpstring("property Version")] HRESULT Version([out, retval] LONGLONG* pVal);
    [propput, id(8), helpstring("property Version")] HRESULT Version([in] LONGLONG newVal);

    //获得标签所属的数据库
    [propget, id(9), helpstring("property Database")] HRESULT Database([out, retval] IDispatch** pVal);

    //删除标签
    [id(10), helpstring("method Delete")] HRESULT Delete(void);

    //重新从数据库中获得标签的信息
    [id(11), helpstring("method Reload")] HRESULT Reload(void);
};


分类: Wiz, Wiz二次开发 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

Spam Protection by WP-SpamFree