IVsOwnedProjectFactory 接口

使用支持由所有者保留的聚合 OwnerKey 在其项目文件的项目。

命名空间:  Microsoft.VisualStudio.Shell.Interop
程序集:  Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)

语法

声明
<InterfaceTypeAttribute()> _
<GuidAttribute("E4197123-1086-4D51-B2D5-903F4D61C5AA")> _
Public Interface IVsOwnedProjectFactory
[InterfaceTypeAttribute()]
[GuidAttribute("E4197123-1086-4D51-B2D5-903F4D61C5AA")]
public interface IVsOwnedProjectFactory

IVsOwnedProjectFactory 类型公开以下成员。

方法

  名称 说明
公共方法 InitializeForOwner 调用项所有者调用拥有的项目中执行所有其初始化。
公共方法 PreCreateForOwner 给拥有的项目机会创建基于输入的一个复合项目的对象控制 IUnknown (pUnkOwner)。

页首

备注

支持聚合由所有者的项目在它们的项目文件必须保持 OwnerKey。 当 CreateProject 对与 OwnerKey 项目时,则拥有的项目应将其 OwnerKey 为项目 factory GUID 调用此项目工厂的 CreateProject 执行实际创建。

所有者在两个阶段中将创建其所属的项:

  1. 调用 PreCreateForOwner。 这使该项目拥有的机会创建基于输入的一个复合项目的对象控制 IUnknown (pUnkOwner)。 该拥有的项目通过内部 IUnknown 和聚合的对象对所有者项目,请将其机会存储内部 IUnknown

  2. 调用 InitializeForOwner。 该拥有的项目实现其所有实例化此处 (支持通常包含这无法识别的项目的 CreateProject )。 输入 VSOWNEDPROJECTOBJECT 通常是该聚合拥有的项目。 该拥有的项目可以使用此变量确定其项目对象是否已创建 cookie (! =nullnull 引用(在 Visual Basic 中为 Nothing)) 或需要创建 (cookie==nullnull 引用(在 Visual Basic 中为 Nothing))。

相关属性: VSHPROPID_OwnerKey — BSTR 所有者一个拥有的项目的项目 GUID 的键字符串。 只应实现 IVsOwnedProjectFactory 应支持此属性。

对实现者的说明

实现支持由所有者保留的聚合 OwnerKey 在其项目文件的项目。

对调用者的说明

调用由所有者创建其拥有的项目。

请参见

参考

Microsoft.VisualStudio.Shell.Interop 命名空间