IVsUIShellOpenDocument.InitializeEditorInstance 方法
初始化文档编辑器的实例。
命名空间: Microsoft.VisualStudio.Shell.Interop
程序集: Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)
语法
声明
Function InitializeEditorInstance ( _
grfIEI As UInteger, _
punkDocView As IntPtr, _
punkDocData As IntPtr, _
pszMkDocument As String, _
ByRef rguidEditorType As Guid, _
pszPhysicalView As String, _
ByRef rguidLogicalView As Guid, _
pszOwnerCaption As String, _
pszEditorCaption As String, _
pHier As IVsUIHierarchy, _
itemid As UInteger, _
punkDocDataExisting As IntPtr, _
pSPHierContext As IServiceProvider, _
ByRef rguidCmdUI As Guid, _
<OutAttribute> ByRef ppWindowFrame As IVsWindowFrame _
) As Integer
int InitializeEditorInstance(
uint grfIEI,
IntPtr punkDocView,
IntPtr punkDocData,
string pszMkDocument,
ref Guid rguidEditorType,
string pszPhysicalView,
ref Guid rguidLogicalView,
string pszOwnerCaption,
string pszEditorCaption,
IVsUIHierarchy pHier,
uint itemid,
IntPtr punkDocDataExisting,
IServiceProvider pSPHierContext,
ref Guid rguidCmdUI,
out IVsWindowFrame ppWindowFrame
)
参数
- grfIEI
类型:System.UInt32
[in] 控件编辑的初始化的标志。有关枚举值的列表,请参见 __VSIEIFLAGS。如果为此参数指定 IEI_DoNotLoadDocData 的值,则此方法不尝试通过调用 LoadDocData加载 DocData 。
- punkDocView
类型:System.IntPtr
[in] 向文档数据对象的 IUnknown 接口的指针。
- punkDocData
类型:System.IntPtr
[in] 向文档数据对象的 IUnknown 接口的指针。
- pszMkDocument
类型:System.String
[in] 字符串文档的唯一标记标识符形式对项目系统,例如,完整路径到文件。在 URL 的形式,在非文件种情况下,此标识符常常是。
- rguidEditorType
类型:System.Guid%
[in]编辑类型的 GUID。
- pszPhysicalView
类型:System.String
[in] 物理视图的名称。
- rguidLogicalView
类型:System.Guid%
[in] 标识逻辑视图的 GUID。有关逻辑上 GUIDS 列表,请参见逻辑视图和物理视图。如果实现在文档数据对象的 IVsMultiViewDocumentView ,则将传递给 rguidLogicalView 参数确定激活哪个视图,编辑窗口中显示时。,当编辑器实例化时,编辑器窗口中显示。通过指定逻辑视图 GUID, IVsUIShellOpenDocument::InitializeEditorInstance 的调用方才能够请求与该原因调用方请求视图的特定视图。例如,调用方将指定 LOGVIEWID_Debugging 获取视图适合于调试视图或 LOGVIEWID_TextView 获取视图适合于文本编辑器 (即该视图实现 IVsCodeWindow)。
- pszOwnerCaption
类型:System.String
[in] 文档所有者定义的初始声明 (即项目) 文档窗口中。这通常是以下格式:“ProjectName – ItemName”。
- pszEditorCaption
类型:System.String
[in] 文档窗口的文档编辑器中定义的初始声明。这通常是在方括号括起来的字符串 (例如,窗体 [])。此参数的初始值返回为 CreateEditorInstance [out] 方法的参数。
- pHier
类型:Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy
[in] 到包含文档项目的 IVsUIHierarchy 接口的指针。
- itemid
类型:System.UInt32
[in] UI 层次结构文档的项 ID 在项目系统的。有关更多信息,请参见VSITEMID。
- punkDocDataExisting
类型:System.IntPtr
[in] 向文档数据对象的 IUnknown 接口的指针文档数据对象是否已存在于运行文档表。
- pSPHierContext
类型:Microsoft.VisualStudio.OLE.Interop.IServiceProvider
[in] 项目特定服务提供程序。有关更多信息,请参见 IServiceProvider。
- rguidCmdUI
类型:System.Guid%
[in] 命令的命令 UI GUID。此编辑器中显示。
- ppWindowFrame
类型:Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame%
[out, retval] 包含编辑器的窗架。有关更多信息,请参见 IVsWindowFrame。
返回值
类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。
备注
COM 签名
从 vsshell.idl:
HRESULT IVsUIShellOpenDocument::InitializeEditorInstance(
[in] VSIEIFLAGS grfIEI,
[in] IUnknown *punkDocView,
[in] IUnknown *punkDocData,
[in] LPCOLESTR pszMkDocument,
[in] REFGUID rguidEditorType,
[in] LPCOLESTR pszPhysicalView,
[in] REFGUID rguidLogicalView,
[in] LPCOLESTR pszOwnerCaption,
[in] LPCOLESTR pszEditorCaption,
[in] IVsUIHierarchy *pHier,
[in] VSITEMID itemid,
[in] IUnknown *punkDocDataExisting,
[in] IServiceProvider *pSPHierContext,
[in] REFGUID rguidCmdUI,
[out, retval] IVsWindowFrame **ppWindowFrame
);
编辑可用于基于文件初始化文档和非文件基于文档。由于 IVsUIShellOpenDocument.InitializeEditorInstance 采用 pszMkDocumentString 作为输入参数,此方法支持初始化基于文件的和非基于文件的编辑器。
IVsUIShellOpenDocument.InitializeEditorInstance 是 CreateEditorInstance调用的 helper 函数。InitializeEditorInstance 调用下列方法按顺序:
LoadDocData (调用,除非 IEI_DoNotLoadDocData 为 IVsUIShellOpenDocument::InitializeEditorInstance (grfIEI) 指定。
ActivateLogicalView (称为,仅当文档数据对象实现 IVsMultiViewDocumentView)。
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。