IVsRunningDocumentTable.FindAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, UInt32) Metoda

Definice

Vyhledá dokument v RDT pomocí názvu souboru dokumentu a pak získá zámek pro čtení nebo úpravy v tomto dokumentu.Locates a document in the RDT using the document file name, then obtains a read or edit lock on that document.

public:
 int FindAndLockDocument(System::UInt32 dwRDTLockType, System::String ^ pszMkDocument, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ % ppHier, [Runtime::InteropServices::Out] System::UInt32 % pitemid, [Runtime::InteropServices::Out] IntPtr % ppunkDocData, [Runtime::InteropServices::Out] System::UInt32 % pdwCookie);
public int FindAndLockDocument (uint dwRDTLockType, string pszMkDocument, out Microsoft.VisualStudio.Shell.Interop.IVsHierarchy ppHier, out uint pitemid, out IntPtr ppunkDocData, out uint pdwCookie);
abstract member FindAndLockDocument : uint32 * string * IVsHierarchy * uint32 * nativeint * uint32 -> int
Public Function FindAndLockDocument (dwRDTLockType As UInteger, pszMkDocument As String, ByRef ppHier As IVsHierarchy, ByRef pitemid As UInteger, ByRef ppunkDocData As IntPtr, ByRef pdwCookie As UInteger) As Integer

Parametry

dwRDTLockType
UInt32

pro Příznaky, jejichž hodnoty jsou přijímány z _VSRDTFLAGS výčtu.[in] Flags whose values are taken from the _VSRDTFLAGS enumeration.

pszMkDocument
String

pro Cesta k umístěnému dokumentu[in] Path to the located document.

ppHier
IVsHierarchy

[out, volitelné] Vrátí IVsHierarchy rozhraní pro umístěný dokument.[out, optional] Returns the IVsHierarchy interface for the located document.

pitemid
UInt32

[out, volitelné] Vrátí identifikátor položky umístěného dokumentu.[out, optional] Returns an item identifier of the located document. Jedná se o jedinečný identifikátor, nebo se může jednat o jednu z následujících hodnot: VSITEMID_NIL , VSITEMID_ROOT , nebo VSITEMID_SELECTION .This is a unique identifier or it can be one of the following values: VSITEMID_NIL, VSITEMID_ROOT, or VSITEMID_SELECTION.

ppunkDocData
IntPtr

[out, volitelné] Vrátí IUnknown rozhraní.[out, optional] Returns the IUnknown interface. Podrobnosti najdete v části poznámky.See Remarks for details.

pdwCookie
UInt32

[out, volitelné] Vrátí abstraktní hodnotu pro dokument.[out, optional] Returns an abstract value for the document.

Návraty

Int32

Pokud je metoda úspěšná, vrátí S_OK .If the method succeeds, it returns S_OK. Pokud dojde k chybě, vrátí kód chyby.If it fails, it returns an error code.

Poznámky

FindAndLockDocumentEx je podobná této metodě, ale také umožňuje specifikaci upřednostňované dvojice Hierarchy/ItemId pro dokument pro případ, že je požadováno RDT_EditLock a dokument je aktuálně zaregistrován pouze pomocí RDT_ReadLock bez přiřazených hierarchií/ItemID.FindAndLockDocumentEx is similar to this method 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.

Aby nedošlo k nevrácení paměti, měli byste zavolat Release na ppunkDocData objekt vrácený touto metodou.In order to avoid a memory leak, you should call Release on the ppunkDocData object returned by this method.

Podpis COMCOM Signature

Z vsshell. idl:From vsshell.idl:

HRESULT IVsRunningDocumentTable::FindAndLockDocument(  
   [in] VSRDTFLAGS      dwRDTLockType,  
   [in] LPCOLESTR       pszMkDocument,  
   [out] IVsHierarchy **ppHier,  
   [out] VSITEMID      *pitemid,  
   [out] IUnknown     **ppunkDocData,  
   [out] VSCOOKIE      *pdwCookie  
);  

Parametr punkDocDatapunkDocData Parameter

Pokud je dokument zaregistrován, punkDocData vrátí hodnota, která je vrácena, vždy jinou hodnotu než null, protože prostředí vytvoří punkDocData jménem editorů, které jsou zaregistrovány s null hodnotou pro punkDocData , jako v případě, kdy editor neobsahuje data/zobrazení oddělení.If the document is registered, then the punkDocData value that is returned is always non-null because the environment will create a punkDocData on behalf of Editors that registered with a null value for punkDocData, as is the case when an Editor does not have data/view separation. Tento objekt představuje datový objekt dokumentu přidružený k zaregistrovanému dokumentu.This object represents the document data object associated with the registered document. IVsPersistDocDataRozhraní a jsou obvykle IVsDocDataFileChangeControl získána z tohoto IUnknown objektu.Typically, the IVsPersistDocData and IVsDocDataFileChangeControl interfaces are obtained from this IUnknown object.

Parametr pdwCookiepdwCookie Parameter

pdwCookieParametr vrátí soubor cookie, který představuje dokument.The pdwCookie parameter returns a cookie representing the document. Tento soubor cookie lze předat následujícím metodám:This cookie can be passed to the following methods:

Platí pro