IVsPackage.SetSite 方法
初始化一个后退指针的 VSPackage 对环境。
命名空间: Microsoft.VisualStudio.Shell.Interop
程序集: Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)
语法
声明
Function SetSite ( _
psp As IServiceProvider _
) As Integer
int SetSite(
IServiceProvider psp
)
参数
- psp
类型:Microsoft.VisualStudio.OLE.Interop.IServiceProvider
[in] 对 VSPackage 能为服务查询的 IServiceProvider 接口的指针。
返回值
类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。
备注
COM 签名
从 vsshell.idl:
HRESULT IVsPackage::SetSite(
[in] IServiceProvider *pSP
);
这是在 IVsPackage 接口的最重要的方法。
此方法的实现,可以:
存储 psp。
使用接口 IVsPersistSolutionOpts 接口和 IVsPersistSolutionProps 接口,加载持久性数据。
主张服务,因此,如果有的话)。
可用的注册工厂文档编辑器,因此,如果任何一个。
注册可用的项目类型工厂,因此,如果有的话)。
请求由其他 Vspackage 实现的服务
,当这些步骤完成后,必须提供的服务。否则,需要使用服务可以加载请求您提供的 VSPackage。但是,,因为您可用它,另一个 VSPackage 中加载失败,因此,您不能对请求的服务的访问,可能会导致加载失败。
在结束 VSPackage 和释放环境中返回错误结果代码结果其资源。
此方法的实现不应假定, UI 可用。不要尝试添加窗格。 输出窗口 或使用依赖于 UI 可用的其他服务。例如,那么,当 devenv 调用具有 /setup SetSite 时会调用和 UI 不可用。
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。