扩展 Connect To 控件

上次修改时间: 2015年3月9日

适用范围: SharePoint Foundation 2010

"连接到"菜单项是可扩展的,这样任何客户端都能够使用它。

如何连接"连接到"菜单项?创建 ActiveX 控件并让菜单知道此控件。

扩展"连接到"菜单项

若要显示该菜单项,客户端应用程序必须执行以下两个步骤:

  1. 注册 Stssync 协议 协议处理程序。使用 stssync 协议,可以向 Office Outlook 2003、Office Outlook 2007 或支持该协议的第三方应用程序添加 SharePoint Foundation 网站上现有的事件列表或联系人列表。

  2. 安装一个返回应用程序名称和图标文件名的 ActiveX 控件。

此 ActiveX 控件必须具有 SharePoint.Stssynchandler.3 的 ProgID,并且必须实现下列方法:

HRESULT GetStssyncAppNameForType([in] BSTR pbstrType,  [out, retval] BSTR *pbstrAppName);
HRESULT GetStssyncIconName([out, retval] BSTR *pbstrIconName);

在显示该菜单项之前,SharePoint Foundation 会调用 ActiveX 控件中的 GetStssyncAppNameForType() 方法,并传递当前列表的同步类型。每个列表具有一个默认同步类型(在 SPList.SyncType 的对象模型中访问),此同步类型是根据列表的基本类型、基本模板以及列表是否允许内容类型来决定的。可以将此类型作为功能中的列表模板定义的一个属性进行重写。

通常,ActiveX 控件会对照一个受支持的类型列表来检查同步类型,并返回其中显示该菜单项的应用程序的名称;或者,如果不支持该类型,则将返回 NULL,此时不会显示该菜单项。

如果返回一个非空应用程序名称,则 SharePoint Foundation 将调用此控件的 GetStssyncIconName() 方法以获取要在该菜单项中显示的图标的文件名。返回的文件名将在文档库文件夹的上下文菜单中使用,同时为此文件名添加"menu"前缀以获取工具栏菜单项中使用的图像。这样,客户端应按照每台 SharePoint Foundation Web 前端服务器的图像路径安装两个图像。例如,如果文件名为"sample",则相应的图像名将分别为 sample.gif 和 menusample.gif。

如果浏览器不支持 Active X,则显示带默认图标的"连接到"菜单,可以假定支持 stssync 协议。

单击此按钮时,JavaScript 会使用正确的上下文参数将浏览器重定向到 stssync:// URL。此 URL 的格式如下所示:

stssync://sts/?ver=1.1&type=Type&cmd=add-folder&base-url=WebUrl&list-url=ListUrl&guid=ListId&site-name=SiteName&list-name=ListName

类型

此列表的同步类型

ListId

列表标识符,表示为 GUID。

ListName

列表的标题;最大长度为 20 个字符。

ListUrl

列表的相对于网站的已编码 URL(以 / 开始和结束)。

SiteName

列表所在的网站的标题;最大长度为 20 个字符。

ViewUrl

列表的默认视图页的相对于网站的已编码 URL(以 / 开始)。

WebUrl

列表所在的网站的绝对已编码 URL。

在同步文件夹时,文档库可以向 stssync:// URL 的结尾添加两个参数:

&folder-url=FolderUrl&folder-id=FolderId

FolderUrl,上下文文件夹的相对于网站的未编码 URL(以 / 开始)

FolderId,上下文文件夹的项目 ID(一个整数)

请参阅

概念

GetListItemChangesSinceToken 和同步应用程序

其他资源

规划浏览器支持 (Windows SharePoint Services)