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 命名空间