IVsRunningDocumentTable2.FindAndLockDocumentEx Method

Definition

Locates a document in the RDT using the document file name, then obtains a read or edit lock on that document.

public:
 int FindAndLockDocumentEx(System::UInt32 grfRDTLockType, System::String ^ pszMkDocument, Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pHierPreferred, System::UInt32 itemidPreferred, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ % ppHierActual, [Runtime::InteropServices::Out] System::UInt32 % pitemidActual, [Runtime::InteropServices::Out] IntPtr % ppunkDocDataActual, [Runtime::InteropServices::Out] System::UInt32 % pdwCookie);
public int FindAndLockDocumentEx (uint grfRDTLockType, string pszMkDocument, Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pHierPreferred, uint itemidPreferred, out Microsoft.VisualStudio.Shell.Interop.IVsHierarchy ppHierActual, out uint pitemidActual, out IntPtr ppunkDocDataActual, out uint pdwCookie);
abstract member FindAndLockDocumentEx : uint32 * string * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * IVsHierarchy * uint32 * nativeint * uint32 -> int
Public Function FindAndLockDocumentEx (grfRDTLockType As UInteger, pszMkDocument As String, pHierPreferred As IVsHierarchy, itemidPreferred As UInteger, ByRef ppHierActual As IVsHierarchy, ByRef pitemidActual As UInteger, ByRef ppunkDocDataActual As IntPtr, ByRef pdwCookie As UInteger) As Integer

Parameters

grfRDTLockType
UInt32

[in] Flags whose values are taken from the _VSRDTFLAGS enumeration.

pszMkDocument
String

[in] Path to the located document.

pHierPreferred
IVsHierarchy

[out, optional] Returns preferred the IVsHierarchy interface for the located document.

itemidPreferred
UInt32

[out, optional] Returns an item identifier of the located document. This is a unique identifier or it can be one of the following values: VSITEMID_NIL, VSITEMID_ROOT, or VSITEMID_SELECTION.

ppHierActual
IVsHierarchy

[out, optional] Returns the actual IVsHierarchy interface for the located document.

pitemidActual
UInt32

[out, optional] Returns an item identifier of the located document. This is a unique identifier or it can be one of the following values: VSITEMID_NIL, VSITEMID_ROOT, or VSITEMID_SELECTION.

ppunkDocDataActual
IntPtr

nativeint

[out, optional] Returns the IUnknown interface.

pdwCookie
UInt32

[out, optional] Returns an abstract value for the document.

Returns

If the method succeeds, it returns S_OK. If it fails, it returns an error code.

Remarks

This method is similar to FindAndLockDocument but also allows the specification of a preferred hierarchy/itemid pair for the document in case an RDT_EditLock is desired and the document is currently registered with only a RDT_ReadLock with no hierarchy/itemid assigned. In this case FindAndLockDocument would have returned E_UNEXPECTED. This method will not register the document in the Running Document Table if it is not currently registered.

COM Signature

From vsshell80.idl:

HRESULT FindAndLockDocumentEx(  
    [in] VSRDTFLAGS grfRDTLockType,  
    [in] LPCOLESTR pszMkDocument,  
    [in] IVsHierarchy *pHierPreferred,  
    [in] VSITEMID itemidPreferred,  
    [out] IVsHierarchy **ppHierActual,  
    [out] VSITEMID *pitemidActual,  
    [out] IUnknown **ppunkDocDataActual,  
    [out] VSCOOKIE *pdwCookie  
);  

Applies to