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
)
参数
- ppHier
类型:System.IntPtr%
[out] 一个指向当前项目层次结构的 IVsHierarchy 接口的指针。
- pitemid
类型:System.UInt32%
[out] 一个指向标识符的指针当前项目项的。如果 pitemid 设置为 VSITEMID_SELECTION,当前选定内容涉及多个项目。这些项目只能访问使用 ppMIS点为 IVsMultiItemSelect 接口。
- ppMIS
类型:Microsoft.VisualStudio.Shell.Interop.IVsMultiItemSelect%
[out] 一个指向要使用的 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_PropagateAltHierarchyItem 在 Init, UI 窗口驱动器不同的层次结构 itemID 对全局级别。
Macro 资源管理器 和 服务器资源管理器 为的工具窗口的示例使用本地 UI 窗口层次结构 itemID。 在 Macro 资源管理器 和 服务器资源管理器, IVsTrackSelectionEx 实现在 vsshell.idl 指定值 HIERARCHY_DONTPROPAGATE (定义),因此本地选定的 UI 层次结构 itemID 不会传播到对全局级别。 如果 HIERARCHY_DONTPROPAGATE 未选择,则本地层次结构 itemID 可以被推送到全局级别。
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。