IVsUIHierarchyWindow.GetCurrentSelection 方法

,当使用时,获取当前选择备用 itemID 替代 UIHierarchy。

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

语法

声明
Function GetCurrentSelection ( _
    <OutAttribute> ByRef ppHier As IntPtr, _
    <OutAttribute> ByRef pitemid As UInteger, _
    <OutAttribute> ByRef ppMIS As IVsMultiItemSelect _
) As Integer
int GetCurrentSelection(
    out IntPtr ppHier,
    out uint pitemid,
    out IVsMultiItemSelect ppMIS
)

参数

  • pitemid
    类型:System.UInt32%
    [out] 一个指向标识符的指针当前项目项的。如果 pitemid 设置为 VSITEMID_SELECTION,当前选定内容涉及多个项目。这些项目只能访问使用 ppMIS点为 IVsMultiItemSelect 接口。

返回值

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

备注

COM 签名

从 vsshell.idl:

HRESULT IVsUIHierarchyWindow::GetCurrentSelection(
   [out] IVsHierarchy ** ppHier,
   [out] VSITEMID * pitemid,
   [out] IVsMultiItemSelect ** ppMIS
);

当没有备用 UI 层次结构 itemID的时,不会对使用 GetCurrentSelection 获取共有全局当前活动的层次结构 itemID。

IVsUIHierarchyWindow::GetCurrentSelection ,当本地的 UI 窗口中选择具有从全局层次结构 itemID时,不同的层次结构 itemID 使用。 ,如果 grfUIHWF 指定为 UIHWF_PropagateAltHierarchyItemInit, UI 窗口驱动器不同的层次结构 itemID 对全局级别。

Macro 资源管理器服务器资源管理器 为的工具窗口的示例使用本地 UI 窗口层次结构 itemID。 在 Macro 资源管理器服务器资源管理器IVsTrackSelectionEx 实现在 vsshell.idl 指定值 HIERARCHY_DONTPROPAGATE (定义),因此本地选定的 UI 层次结构 itemID 不会传播到对全局级别。 如果 HIERARCHY_DONTPROPAGATE 未选择,则本地层次结构 itemID 可以被推送到全局级别。

.NET Framework 安全性

请参见

参考

IVsUIHierarchyWindow 接口

Microsoft.VisualStudio.Shell.Interop 命名空间