确定指定的是否文档视图是打开的。
命名空间: 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
)
参数
- pHierCaller
类型:Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy
[in] 作为指针传递的调用方的层次结构标识符到调用方的 IVsUIHierarchy 实现。,如果调用方为 grfIDO 参数,指定 IDO_ActivateIfOpen 的值此参数按 IsSpecificDocumentViewOpen 环境使用来实现。
- 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。
- ppHierOpen
类型:Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy%
[out] 如果 pfOpen 是 true,则此参数是指向拥有视图 IVsHierarchy 的 IVsUIHierarchy 实现。如果 pfOpen 是 false,则此参数是 nullnull 引用(在 Visual Basic 中为 Nothing)。
- pitemidOpen
类型:System.UInt32%
[out] 如果 pfOpen 是 true,则此参数是指向由指定的视图显示的 UI 层次结构项 ID 打开文档。如果 pfOpen 是 false,则此参数是 nullnull 引用(在 Visual Basic 中为 Nothing)。有关更多信息,请参见VSITEMID。
- ppWindowFrame
类型:Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame%
[out] 如果 pfOpen 是 true,则此参数是指向包含指定的视图的 IVsWindowFrame 。
- 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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。