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

Definition

Sucht ein Dokument im RDT mithilfe des Dokumentendateinamens, und erhält dann eine Lese- oder Bearbeitungssperre für dieses Dokument.

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

Parameter

dwRDTLockType
UInt32

[in] Flags, deren Werte aus der _VSRDTFLAGS-Enumeration übernommen werden.

pszMkDocument
String

[in] Pfad zum gefundenen Dokument.

ppHier
IVsHierarchy

[out, optional] Gibt die IVsHierarchy-Schnittstelle für das lokalisierte Dokument zurück.

pitemid
UInt32

[out, optional] Gibt einen Elementbezeichner des gefundenen Dokuments zurück. Dies ist ein eindeutiger Bezeichner oder kann einer der folgenden Werte sein: VSITEMID_NIL, VSITEMID_ROOT oder VSITEMID_SELECTION.

ppunkDocData
IntPtr

[out, optional] Gibt die IUnknown-Schnittstelle zurück. Einzelheiten finden Sie in den Hinweisen.

pdwCookie
UInt32

[out, optional] Gibt einen abstrakten Wert für das Dokument zurück.

Gibt zurück

Int32

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Bei einem Fehler wird ein Fehlercode zurückgegeben.

Hinweise

FindAndLockDocumentEx ähnelt dieser Methode, ermöglicht aber auch die Angabe eines bevorzugten Hierarchy-/Itemid-Paars für das Dokument, falls ein RDT_EditLock erwünscht ist und das Dokument derzeit nur mit einer RDT_ReadLock registriert ist, der keine Hierarchie/Itemid zugewiesen ist.

Um einen Speicherplatz zu vermeiden, sollten Sie Release für das ppunkDocData von dieser Methode zurückgegebene Objekt aufzurufen.

COM-Signatur

Aus vsshell. idl:

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

Parameter ' punkdocdata '

Wenn das Dokument registriert ist, ist der punkDocData zurückgegebene Wert immer ungleich NULL, da von der Umgebung punkDocData im Auftrag von Editoren, die mit einem Wert für registriert wurden, ein erstellt wird null . dies punkDocData ist der Fall, wenn ein Editor keine Trennung der Daten/Ansicht hat. Dieses Objekt stellt das Dokument Datenobjekt dar, das dem registrierten Dokument zugeordnet ist. In der Regel IVsPersistDocData IVsDocDataFileChangeControl werden die Schnittstellen und aus diesem IUnknown Objekt abgerufen.

pdwcookie-Parameter

Der- pdwCookie Parameter gibt ein Cookie zurück, das das Dokument darstellt. Dieses Cookie kann an die folgenden Methoden übermittelt werden:

Gilt für