IVsExternalFilesManager.AddDocument 方法

以编程方式调用杂项文件项目添加节点。

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

语法

声明
Function AddDocument ( _
    dwCDW As UInteger, _
    pszMkDocument As String, _
    punkDocView As IntPtr, _
    punkDocData As IntPtr, _
    ByRef rguidEditorType As Guid, _
    pszPhysicalView As String, _
    ByRef rguidCmdUI As Guid, _
    pszOwnerCaption As String, _
    pszEditorCaption As String, _
    <OutAttribute> ByRef pfDefaultPosition As Integer, _
    <OutAttribute> ByRef ppWindowFrame As IVsWindowFrame _
) As Integer
int AddDocument(
    uint dwCDW,
    string pszMkDocument,
    IntPtr punkDocView,
    IntPtr punkDocData,
    ref Guid rguidEditorType,
    string pszPhysicalView,
    ref Guid rguidCmdUI,
    string pszOwnerCaption,
    string pszEditorCaption,
    out int pfDefaultPosition,
    out IVsWindowFrame ppWindowFrame
)

参数

  • pszMkDocument
    类型:System.String
    [in] 文档的路径。此环境使用此路径。在运行的视图文档表 (RDT)的注册。
  • punkDocView
    类型:System.IntPtr
    [in] 为 IUnknown 接口的指针在文档窗口中将显示文档的视图对象的。
  • punkDocData
    类型:System.IntPtr
    [in] 为表示在以下情况下添加具有视图或数据分隔文档的文档数据对象的 IUnknown 接口的指针。例如,核心文本编辑器具有文本视图对象 (VsTextView 对象) 和文本缓冲区对象 (VsTextBuffer 对象)。此参数可以为 nullnull 引用(在 Visual Basic 中为 Nothing)。通过 nullnull 引用(在 Visual Basic 中为 Nothing) 使该环境创建 punkDocData 的默认实现的实例委托调用方的。
  • rguidEditorType
    类型:System.Guid%
    [in] 创建文档查看实例和文档数据对象编辑工厂的唯一标识符。这应该是 GUID_NULL,如果文档中构造使用编辑工厂 (即实例是由特定项目的私有知识创建)。
  • pszPhysicalView
    类型:System.String
    [in] 标识编辑的物理视图类型的字符串。
  • rguidCmdUI
    类型:System.Guid%
    [in] 指定指示的 GUID 内容设置菜单应合并到主菜单栏,在文档处于活动状态的。它用于打开命令和工具窗口的可见性使用。
  • pszOwnerCaption
    类型:System.String
    [in] 文档所有者定义的初始声明 (即项目) 文档窗口中。这通常是以下格式:“ProjectName – ItemName”。
  • pszEditorCaption
    类型:System.String
    [in] 文档窗口的文档编辑器中定义的初始声明。这通常是在方括号括起来的字符串 (例如,仅读取 [])。此参数的初始值返回为 CreateEditorInstance [out] 方法的参数。
  • pfDefaultPosition
    类型:System.Int32%
    [out] ,如果调用方不希望窗口中,默认位置信息非常 nullnull 引用(在 Visual Basic 中为 Nothing) 。 true ,如果环境没有任何信息保存有关此工具窗口的最后一个位置 (即未找到 guidPersistenceSlot),因此它在某些默认位置放置了屏幕。 false ,如果将此窗口用户最后查找和大小之后的位置。
  • ppWindowFrame
    类型:Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame%
    [out] 对包含此编辑框架的指针,可用于操作位置、大小、说明和窗口的其他属性。它还可用于获取嵌入的 IUnknown 接口指针 (即 punkDocView 或 punkDocData)。

返回值

类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。

备注

COM 签名

从 vsshell.idl:

HRESULT IVsExternalFilesManager::AddDocument(
   [in] VSCREATEDOCWIN dwCDW,
   [in] LPCOLESTR pszMkDocument,
   [in] IUnknown *punkDocView,
   [in] IUnknown *punkDocData,
   [in] REFGUID rguidEditorType,
   [in] LPCOLESTR pszPhysicalView,
   [in] REFGUID rguidCmdUI,
   [in] LPCOLESTR pszOwnerCaption,
   [in] LPCOLESTR pszEditorCaption,
   [out] BOOL *pfDefaultPosition,
   [out] IVsWindowFrame **ppWindowFrame
);

类似于 CreateDocumentWindow 方法。AddDocument 不包括参数 ItemId 和 pUIH (可 IVsHierarchy的指针),因为杂项文件项目分配自己的 ItemId ,并 pUIH 对和使用 AddDocument 参数的其余部分创建文档窗口。

.NET Framework 安全性

请参见

参考

IVsExternalFilesManager 接口

Microsoft.VisualStudio.Shell.Interop 命名空间