百度硬盘搜索SDK接口说明(摘自百度)

IBaiduDSComponentRegister

该接口可以用来注册或卸载一个插件,插件只能在注册之后才能被百度硬盘搜索所识别,并调用和接收该插件发送的数据。任何插件在不被使用之后,都应当调用该接口的UnregisterComponent方法卸载。

RegisterComponent 方法

注册用户插件。

语法

HRESULT RegisterComponent(

[in] BSTR bsGuidORProgid,

[in] VARIANT vDescription,

[out,retval] IBaiduDSComponentRegistration **ppRegistration);

参数

bsGuidORProgid

插件的GUID或者ProgID。

vDescription

包含1个SAFEARRY的VARIANT,这个SAFEARRY包含了若干个元素对,存放格式为:<属性名称><属性值><属性名称><属性值>……目前支持的属性包括:Title(插件的名称,显示在配置页面上)、Description(插件的简要描述,显示在配置页面上,用户可以在描述中加入html的链接标签以链接到自己的网站,例如:<a href=”http://www.baidu.com”> 更多信息</a>)、ICON(该类型文档的图标,应用于检索结果页面,格式如下:%systemroot%/windows/system32/notepad.exe,2)。

ppRegistration

返回的IBaiduDSComponentRegistration指针,如果该参数为NULL,则不返回任何信息。

返回值

假如成功返回S_OK,失败返回E_FAIL。

E_COMPONENT_ALREADY_REGISTERED 插件已被注册。

UnregisterComponent 方法

卸载用户插件。

语法

HRESULT UnregisterComponent(

[in] BSTR bsGuidORProgid);

参数

bsGuidORProgid

插件的GUID或者ProgID。

返回值

假如成功返回S_OK,失败返回E_FAIL。

IBaiduDSComponentRegistration

如果插件用来处理本地硬盘上的某一类型文件,则需要调用该接口注册感兴趣的文件类型。

RegisterExtension 方法

注册要处理的文件类型

语法

HRESULT RegisterExtension(

[in] BSTR bsExt);

参数

bsExt

插件要处理的文件后缀(例如:.txt .exe .jpg等),文件后缀对大小写不敏感。

返回值

假如成功返回S_OK,失败返回E_FAIL,返回E_EXTENSION_REGISTERED表示后缀已经被其它插件所注册。

注意

同一个插件可以同时注册多个文件后缀,也就是说同一个插件可以处理若干种类型的文件。

IBaiduDSEventFactory

用来产生Event对象的Factory接口

CreateEvent 方法

创造Event对象

语法

HRESULT CreateEvent(

[in] BSTR bsGuidORProgID,

[in] BSTR bsEventName,

[out, retval] IDispatch **ppEvent);

参数

bsGuidORProgID

插件注册时使用的CLSID。

bsEventName

使用的事件类型。

ppEvent

用来接收返回的Event对象。

返回值

假如成功返回S_OK,失败返回E_FAIL。

E_COMPONENT_NOT_REGISTERED 插件没有被注册。

E_COMPONENT_DISABLED 当前插件已经被用户禁止使用。

E_NO_SUCH_EVENT 没有该类型的Event。

IBaiduDSEvent

数据保存、发送接口。

AddProperty 方法

增加属性信息。

语法

HRESULT AddProperty(

BSTR name,

VARIANT value,

long lCodePage,

long lFlag);

参数

name

属性名称

value

属性值

lCodePage

传递数据的编码类型,0为未知。所有的编码定义采用Micrsooft Code-Page 定义。

lFlag

属性的标志信息

返回值

假如成功返回S_OK,失败返回E_FAIL。

E_EVENT_CONTENT_FORMAT_FIRST 添加content属性前,应该指定content的格式。

E_EVENT_TOO_MANY_PROPERTY 添加的属性过多。目前最多支持64项。

E_EVENT_PROPERTY_ALREADY_EXIST 添加的属性已经存在。

E_EVENT_INVALID_PROPERTY 属性信息值无效。

E_EVENT_PROPERTY_TOO_LARGE 属性信息过大。

E_UNKONWN_CODEPAGE 未知代码页。

Send 方法

发送信息到百度硬盘搜索。

语法

HRESULT Send(

long event_flags);

返回值

假如成功返回S_OK,失败返回E_FAIL。

E_SERVICE_NOT_RUNNING 百度硬盘搜索没有启动。

E_NOT_COMPLETE_EVENT 一些必要的属性信息没有被填充。

DBaiduDSFileNotify(纯IDispatch接口)

这个接口由用户插件来实现,它用来接收并处理来自百度硬盘搜索的文件事件(发现或改变)。

HandleFile 方法

语法

HRESULT HandleFile(

[in] BSTR bsFile,

[in] IDispatch* pEventFactory);

参数

bsFile

需要处理的文件全路径

pEventFactory

由百度硬盘搜索传递的IBaiduDSEventFactory指针,用来生成Event对象。

返回值

假如成功返回S_OK,失败返回E_FAIL。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值