Share via


IVsRunningDocumentTable4 Interface

Provides methods for dealing with documents in the Running Document Table.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assemblies:   Microsoft.VisualStudio.Shell.Interop.12.0 (in Microsoft.VisualStudio.Shell.Interop.12.0.dll)
  Microsoft.VisualStudio.Shell.12.0 (in Microsoft.VisualStudio.Shell.12.0.dll)

Syntax

'Declaration
<GuidAttribute("86A4DA78-D580-4AE4-A1BE-F805BC663E04")> _
<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _
Public Interface IVsRunningDocumentTable4 _
    Inherits IVsRunningDocumentTable3
[GuidAttribute("86A4DA78-D580-4AE4-A1BE-F805BC663E04")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsRunningDocumentTable4 : IVsRunningDocumentTable3
[GuidAttribute(L"86A4DA78-D580-4AE4-A1BE-F805BC663E04")]
[InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIUnknown)]
public interface class IVsRunningDocumentTable4 : IVsRunningDocumentTable3
[<GuidAttribute("86A4DA78-D580-4AE4-A1BE-F805BC663E04")>]
[<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)>]
type IVsRunningDocumentTable4 =  
    interface 
        interface IVsRunningDocumentTable3 
    end
public interface IVsRunningDocumentTable4 extends IVsRunningDocumentTable3

The IVsRunningDocumentTable4 type exposes the following members.

Methods

  Name Description
Public method _VtblGap1_6
Public method GetDocumentCookie This is functionally identical to calling IVsRunningDocumentTable.FindAndLockDocument with RDT_NoLock and requesting only the cookie, but it is easier to consume from managed code. In managed code it is impossible to request the flags without also requesting all of the other information, and requesting all of the other information can result in the potentially unnecessary initialization of an RDT_PendingInitialization document.
Public method GetDocumentData This is functionally identical to calling GetDocumentInfo and requesting only the document data, but this method easier to consume from managed code.There are two pending states for a document:RDT_PendingHierarchyInitialization: The project that owns the document hasn’t yet been loaded. This can happen only during asynchronous solution load (ASL). As individual projects are loaded, the documents owned by the projects are updated to remove the RDT_PendingHierarchyInitialization flag. By the time the solution is fully loaded, no documents are in this state.RDT_PendingInitialization: The document data hasn’t been loaded, and the view hasn’t been created. A document in this state may or may not also have RDT_PendingHierarchyInitialization, but a document with RDT_PendingHierarchyInitialization always has RDT_PendingInitialization. Documents in this state are referred to as lazy or stub documents. This method causes a lazy document to be loaded immediately, so by the time it returns, the document no longer has the RDT_PendingInitialization flag. You should first call GetDocumentFlags and call GetDocumentData only if the document doesn’t have RDT_PendingInitialization among its flags. You can be notified that the document has been loaded by subscribing to running document table events and looking for the RDTA_DocumentInitialized flag in OnAfterAttributeChange or OnAfterAttributeChangeEx.
Public method GetDocumentEditLockCount This is functionally identical to calling IVsRunningDocumentTable.GetDocumentInfo and requesting only the edit lock count, but it is easier to consume from managed code. In managed code it is impossible to request the flags without also requesting all of the other information, and requesting all of the other information can result in the potentially unnecessary initialization of an RDT_PendingInitialization document.
Public method GetDocumentFlags This is functionally identical to calling GetDocumentInfo and requesting only the flags, but it is easier to consume from managed code. In managed code it is impossible to request the flags without also requesting all information, and requesting all of the other information can result in the potentially unnecessary initialization of an RDT_PendingInitialization document.
Public method GetDocumentHierarchyItem This is functionally identical to calling GetDocumentInfo and requesting only the document data, but this method easier to consume from managed code.There are two pending states for a document:RDT_PendingHierarchyInitialization: The project that owns the document hasn’t yet been loaded. This can happen only during asynchronous solution load (ASL). As individual projects are loaded, the documents owned by the projects are updated to remove the RDT_PendingHierarchyInitialization flag. By the time the solution is fully loaded, no documents are in this state.RDT_PendingInitialization: The document data hasn’t been loaded, and the view hasn’t been created. A document in this state may or may not also have RDT_PendingHierarchyInitialization, but a document with RDT_PendingHierarchyInitialization always has RDT_PendingInitialization. Documents in this state are referred to as lazy or stub documents. This method causes the project that owns a lazy document to be loaded immediately, rather than waiting for it to be loaded normally, so by the time the method returns, the document no longer has RDT_PendingHierarchyInitialization. It doesn’t cause the document itself to be loaded.You should first call GetDocumentFlags and call GetDocumentHierarchyItem only if the document doesn’t have RDT_PendingInitialization among its flags. You can be notified that the document has been loaded by subscribing to running document table events and looking for the RDTA_DocumentInitialized flag in OnAfterAttributeChange or OnAfterAttributeChangeEx.
Public method GetDocumentMoniker This is functionally identical to calling IVsRunningDocumentTable.GetDocumentInfo and requesting only the moniker, but it is easier to consume from managed code. In managed code it is impossible to request the flags without also requesting all of the other information, and requesting all of the other information can result in the potentially unnecessary initialization of an RDT_PendingInitialization document.
Public method GetDocumentProjectGuid Returns the GUID for the project owning the document
Public method GetDocumentReadLockCount This is functionally identical to calling IVsRunningDocumentTable.GetDocumentInfo and requesting only the read lock count, but it is easier to consume from managed code. In managed code it is impossible to request the flags without also requesting all of the other information, and requesting all of the other information can result in the potentially unnecessary initialization of an RDT_PendingInitialization document.
Public method GetRelatedSaveTreeItems(UInt32, UInt32, UInt32, array<VSSAVETREEITEM[]) Retrieves the related save tree items for a document. (Inherited from IVsRunningDocumentTable3.)
Public method GetRelatedSaveTreeItems(UInt32, UInt32, UInt32, array<VSSAVETREEITEM[]) Retrieves the related save tree items for a document.
Public method IsCookieValid Determines whether the given cookie exists in the RDT.
Public method IsDocumentDirty Indicates whether the document has changed since the last save.
Public method IsDocumentReadOnly Indicates whether the document is a read-only document.
Public method IsMonikerValid Determines whether the given moniker exists in the RDT
Public method NotifyDocumentChangedEx Notifies the client when changes are made to the document.
Public method UpdateDirtyState Updates the status of the dirty state.
Public method UpdateReadOnlyState Updates the document’s read-only state.

Top

See Also

Reference

Microsoft.VisualStudio.Shell.Interop Namespace