IVsUIShellOpenDocument.OpenDocumentViaProjectWithSpecific 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
查找指定项目以打开该文档。
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。
返回
如果该方法成功,则它会返回 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。 如果没有项目可以为文件提供服务,并且 "杂项文件" 项目尚不存在,则该环境将创建杂项文件项目,然后重试。