IVsRunningDocumentTable4.GetDocumentHierarchyItem 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
此方法在功能上等同于调用 GetDocumentInfo(UInt32, UInt32, UInt32, UInt32, String, IVsHierarchy, UInt32, IntPtr) 并请求文档数据,但此方法更易于从托管代码使用。文档有两个挂起状态::尚未 RDT_PendingHierarchyInitialization 加载拥有该文档的项目。 这种情况仅在 (ASL) 的异步解决方案加载过程中发生。 加载单个项目时,会更新项目所拥有的文档以删除 RDT_PendingHierarchyInitialization 标志。 完全加载解决方案时,不会有任何文档处于此状态。 RDT_PendingInitialization:尚未加载文档数据,未创建视图。 处于此状态的文档可能也可能不具有 RDT_PendingHierarchyInitialization,但具有 RDT_PendingHierarchyInitialization 的文档始终具有 RDT_PendingInitialization。 处于此状态的文档称为延迟或存根文档。 此方法导致立即加载具有惰性文档的项目,而不是等待它正常加载,因此,在该方法返回时,该文档不再 RDT_PendingHierarchyInitialization。 它不会导致加载文档本身。 GetDocumentFlags(UInt32) 仅当文档在其标志中没有 RDT_PendingInitialization 时,才应调用并调用 GetDocumentHierarchyItem。 您可以通过订阅运行文档表事件并在或中查找标志来通知您已加载文档 RDTA_DocumentInitialized OnAfterAttributeChange(UInt32, UInt32) OnAfterAttributeChangeEx(UInt32, UInt32, IVsHierarchy, UInt32, String, IVsHierarchy, UInt32, String) 。
public:
void GetDocumentHierarchyItem(System::UInt32 cookie, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ % hierarchy, [Runtime::InteropServices::Out] System::UInt32 % itemID);
void GetDocumentHierarchyItem(unsigned int cookie, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy const & & hierarchy, [Runtime::InteropServices::Out] unsigned int & itemID);
public void GetDocumentHierarchyItem (uint cookie, out Microsoft.VisualStudio.Shell.Interop.IVsHierarchy hierarchy, out uint itemID);
abstract member GetDocumentHierarchyItem : uint32 * * -> unit
Public Sub GetDocumentHierarchyItem (cookie As UInteger, ByRef hierarchy As IVsHierarchy, ByRef itemID As UInteger)
参数
- cookie
- UInt32
文档 cookie。
- hierarchy
- IVsHierarchy
弄项目层次结构。
- itemID
- UInt32
弄项 ID。