IVsUIShellOpenDocument.IsSpecificDocumentViewOpen 方法

确定指定的是否文档视图是打开的。

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

语法

声明
Function IsSpecificDocumentViewOpen ( _
    pHierCaller As IVsUIHierarchy, _
    itemidCaller As UInteger, _
    pszMkDocument As String, _
    ByRef rguidEditorType As Guid, _
    pszPhysicalView As String, _
    grfIDO As UInteger, _
    <OutAttribute> ByRef ppHierOpen As IVsUIHierarchy, _
    <OutAttribute> ByRef pitemidOpen As UInteger, _
    <OutAttribute> ByRef ppWindowFrame As IVsWindowFrame, _
    <OutAttribute> ByRef pfOpen As Integer _
) As Integer
int IsSpecificDocumentViewOpen(
    IVsUIHierarchy pHierCaller,
    uint itemidCaller,
    string pszMkDocument,
    ref Guid rguidEditorType,
    string pszPhysicalView,
    uint grfIDO,
    out IVsUIHierarchy ppHierOpen,
    out uint pitemidOpen,
    out IVsWindowFrame ppWindowFrame,
    out int pfOpen
)

参数

  • itemidCaller
    类型:System.UInt32
    [in] UI 层次结构调用方的项 ID。与 IDO_ActivateIfOpen 一起使用。有关更多信息,请参见VSITEMID。
  • pszMkDocument
    类型:System.String
    [in] 字符串文档的唯一标记标识符形式对项目系统,例如,完整路径到文件。在 URL 的形式,在非文件种情况下,此标识符常常是。
  • rguidEditorType
    类型:System.Guid%
    [in] 编辑工厂的 GUID。此值,与 pszPhysicalView 的组合用于创建指定的唯一标识符文档视图。
  • pszPhysicalView
    类型:System.String
    [in] 物理视图字符串。此值,与 rguidEditorType的组合,用于创建指定的唯一标识符文档视图。
  • grfIDO
    类型:System.UInt32
    [in] 控件的标志的操作在执行打开文档。有关值列表,请参见 __VSIDOFLAGS
  • pitemidOpen
    类型:System.UInt32%
    [out] 如果 pfOpen 是 true,则此参数是指向由指定的视图显示的 UI 层次结构项 ID 打开文档。如果 pfOpen 是 false,则此参数是 nullnull 引用(在 Visual Basic 中为 Nothing)。有关更多信息,请参见VSITEMID。
  • pfOpen
    类型:System.Int32%
    [out, retval] true ,如果指定文档视图是打开的。 false ,如果指定文档视图没有打开。

返回值

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

备注

COM 签名

从 vsshell.idl:

HRESULT IVsUIShellOpenDocument::IsSpecificDocumentViewOpen(
   [in] IVsUIHierarchy *pHierCaller,
   [in] VSITEMID itemidCaller,
   [in] LPCOLESTR pszMkDocument,
   [in] REFGUID rguidEditorType,
   [in] LPCOLESTR pszPhysicalView,
   [in] VSIDOFLAGS grfIDO,
   [out] IVsUIHierarchy **ppHierOpen,
   [out] VSITEMID *pitemidOpen,
   [out] IVsWindowFrame **ppWindowFrame,
   [out, retval] BOOL *pfOpen
);

IsSpecificDocumentViewOpen 采用层次结构/itemID 对作为确定调用方若要了解的输入视图是否已打开。如果指定的文档视图在中打开 IDE,此方法比较此层次结构/itemID 匹配来当前拥有打开文档的层次结构/itemID 对 (即拥有的层次结构) 确定层次结构是否不同。

如果一个不同的层次结构具有文档视图打开,并且该层次结构实现 IVsSupportItemHandoff,则 IVsUIShellOpenDocument::IsSpecificDocumentViewOpen 实现调用层次结构的 IVsSupportItemHandoff 实现并通过层次结构/itemID 为调用层次结构 (pHierCaller/itemidCaller) 对。文档然后传递给被调用的层次结构。如果该层次结构不实现 IVsSupportItemHandoff,则显示包含以下文本, “文档另一个项目打开消息框。”,文档视图不会调用该调用层次结构,因此,现有文档视图将在该拥有的层次结构中。

.NET Framework 安全性

请参见

参考

IVsUIShellOpenDocument 接口

Microsoft.VisualStudio.Shell.Interop 命名空间