IVsOwnedProjectFactory 接口

定义

由支持由所有者聚合的项目使用,以在其项目文件中持久保存 OwnerKey。

public interface class IVsOwnedProjectFactory
public interface class IVsOwnedProjectFactory
__interface IVsOwnedProjectFactory
[System.Runtime.InteropServices.ComConversionLoss]
[System.Runtime.InteropServices.Guid("E4197123-1086-4D51-B2D5-903F4D61C5AA")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsOwnedProjectFactory
[<System.Runtime.InteropServices.ComConversionLoss>]
[<System.Runtime.InteropServices.Guid("E4197123-1086-4D51-B2D5-903F4D61C5AA")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsOwnedProjectFactory = interface
Public Interface IVsOwnedProjectFactory
属性

注解

支持由所有者聚合的项目必须在其项目文件中保存 OwnerKey。 当 CreateProject 对具有 OwnerKey 的项目调用时,拥有的项目应将其 OwnerKey 转换为项目工厂 GUID,然后 CreateProject 在此项目工厂调用以执行实际创建。

所有者将分两个阶段创建其拥有的项目:

  1. 调用 PreCreateForOwner。 这会为拥有的项目提供根据 () 的输入控制创建聚合项目对象的 IUnknown 机会 pUnkOwner 。 所拥有的项目将内部 IUnknown 和聚合的对象传回所有者项目,从而有可能存储内部 IUnknown

  2. 调用 InitializeForOwner。 所拥有的项目将在此处执行其所有实例化 (通常在未归属 CreateProject 项目) 上执行的操作。 输入 VSOWNEDPROJECTOBJECT 通常是聚合的拥有项目。 拥有的项目可以使用此变量来确定其项目对象是否已创建 (cookie! = null) 或需要创建 (cookie = = null) 。

相关属性: VSHPROPID_OwnerKey -用于标识所属项目的项目 GUID 的 BSTR 所有者密钥字符串。 只有实现的项目才 IVsOwnedProjectFactory 支持此属性。

实施者说明

由支持由所有者聚合的项目实现,以在其项目文件中持久保存 OwnerKey。

调用方说明

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

方法

InitializeForOwner(String, String, String, UInt32, Guid, UInt32, IntPtr, Int32)

由项目所有者调用,通知所拥有的项目执行其所有初始化。

PreCreateForOwner(Object, Object, UInt32)

为拥有的项目提供根据输入控制 IUnknown () 创建聚合项目对象的机会 pUnkOwner

适用于