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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。