IVsUIShellOpenDocument.OpenDocumentViaProjectWithSpecific 方法

定义

查找指定项目以打开该文档。

public:
 int OpenDocumentViaProjectWithSpecific(System::String ^ pszMkDocument, System::UInt32 grfEditorFlags, Guid % rguidEditorType, System::String ^ pszPhysicalView, Guid % rguidLogicalView, [Runtime::InteropServices::Out] Microsoft::VisualStudio::OLE::Interop::IServiceProvider ^ % ppSP, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsUIHierarchy ^ % ppHier, [Runtime::InteropServices::Out] System::UInt32 % pitemid, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsWindowFrame ^ % ppWindowFrame);
public int OpenDocumentViaProjectWithSpecific (string pszMkDocument, uint grfEditorFlags, ref Guid rguidEditorType, string pszPhysicalView, ref Guid rguidLogicalView, out Microsoft.VisualStudio.OLE.Interop.IServiceProvider ppSP, out Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy ppHier, out uint pitemid, out Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame ppWindowFrame);
abstract member OpenDocumentViaProjectWithSpecific : string * uint32 * Guid * string * Guid * IServiceProvider * IVsUIHierarchy * uint32 * IVsWindowFrame -> int
Public Function OpenDocumentViaProjectWithSpecific (pszMkDocument As String, grfEditorFlags As UInteger, ByRef rguidEditorType As Guid, pszPhysicalView As String, ByRef rguidLogicalView As Guid, ByRef ppSP As IServiceProvider, ByRef ppHier As IVsUIHierarchy, ByRef pitemid As UInteger, ByRef ppWindowFrame As IVsWindowFrame) As Integer

参数

pszMkDocument
String

中项目系统中文档的唯一名字对象标识符的字符串形式,例如文件的完整路径。 在非文件情况下,此标识符通常采用 URL 格式。

grfEditorFlags
UInt32

中值取自枚举的标志 __VSSPECIFICEDITORFLAGS

rguidEditorType
Guid

中编辑器类型的唯一标识符。

pszPhysicalView
String

中物理视图的唯一标识符。

rguidLogicalView
Guid

中逻辑视图的唯一标识符。 如果编辑器 IVsMultiViewDocumentView 在文档视图对象上实现,则传递到参数的值将 rguidLogicalView 确定在显示编辑器窗口时要激活的视图。 通过指定逻辑视图 GUID,可以请求与请求视图的原因匹配的特定视图。 例如,指定 LOGVIEWID_Debugging 以使视图适合调试,或 LOGVIEWID_TextView 获取适合于文本编辑器的视图 (即实现) 的视图 IVsCodeWindow

ppSP
IServiceProvider

弄指向接口的指针 IServiceProvider

ppHier
IVsUIHierarchy

弄指向 IVsUIHierarchy 可打开该文档的项目的接口的指针。

pitemid
UInt32

弄一个指针,指向项目中文档的层次结构项标识符。 有关更多信息,请参见VSITEMID

ppWindowFrame
IVsWindowFrame

[out,retval]一个指针,指向包含编辑器的窗口框架。 有关详细信息,请参阅 IVsWindowFrame

返回

Int32

如果该方法成功,则它会返回 S_OK。 如果该方法失败,则会返回错误代码。

注解

COM 签名

从 vsshell:

HRESULT IVsUIShellOpenDocument::OpenDocumentViaProjectWithSpecific(  
   [in] LPCOLESTR pszMkDocument,  
   [in] VSSPECIFICEDITORFLAGS grfEditorFlags,  
   [in] REFGUID rguidEditorType,  
   [in] LPCOLESTR pszPhysicalView,  
   [in] REFGUID rguidLogicalView,  
   [out] IServiceProvider **ppSP,  
   [out] IVsUIHierarchy **ppHier,  
   [out] VSITEMID *pitemid,  
   [out, retval] IVsWindowFrame **ppWindowFrame  
);  

此方法由 Vspackage 使用,该项目不是需要在特定编辑器中打开文档的项目,而是不在意哪个项目打开该文件。 若要从 VSPackage 调用此方法,您需要确切了解所需的编辑器工厂,以及您希望编辑器工厂创建 (的窗口,即物理视图) 。 使用参数中指定的逻辑视图, rguidLogicalView 还可以指定编辑器在实现时应显示的选项卡 IVsMultiViewDocumentView

此方法调用 OpenItem。 如果没有项目可以为文件提供服务,并且 "杂项文件" 项目尚不存在,则该环境将创建杂项文件项目,然后重试。

适用于