IVsRunningDocumentTable2.FindOrRegisterAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, IVsHierarchy, UInt32, IntPtr, UInt32) Methode

Definition

Fügt einem registrierten oder nicht registrierten Dokument eine Sperre hinzu.

public:
 int FindOrRegisterAndLockDocument(System::UInt32 grfRDTLockType, System::String ^ pszMkDocument, Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pHierPreferred, System::UInt32 itemidPreferred, IntPtr punkDocData, [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 FindOrRegisterAndLockDocument (uint grfRDTLockType, string pszMkDocument, Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pHierPreferred, uint itemidPreferred, IntPtr punkDocData, out Microsoft.VisualStudio.Shell.Interop.IVsHierarchy ppHierActual, out uint pitemidActual, out IntPtr ppunkDocDataActual, out uint pdwCookie);
abstract member FindOrRegisterAndLockDocument : uint32 * string * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * nativeint * IVsHierarchy * uint32 * nativeint * uint32 -> int
Public Function FindOrRegisterAndLockDocument (grfRDTLockType As UInteger, pszMkDocument As String, pHierPreferred As IVsHierarchy, itemidPreferred As UInteger, punkDocData As IntPtr, ByRef ppHierActual As IVsHierarchy, ByRef pitemidActual As UInteger, ByRef ppunkDocDataActual As IntPtr, ByRef pdwCookie As UInteger) As Integer

Parameter

grfRDTLockType
UInt32

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

pszMkDocument
String

[in] Pfad zum gefundenen Dokument.

pHierPreferred
IVsHierarchy

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

itemidPreferred
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.

punkDocData
IntPtr

[out, optional] Gibt die IUnknown-Schnittstelle zurück.

ppHierActual
IVsHierarchy

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

pitemidActual
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.

ppunkDocDataActual
IntPtr

[out, optional] Gibt die IUnknown-Schnittstelle zurück.

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

Diese Methode verarbeitet alle Fälle, um einem Dokument eine Sperre hinzuzufügen, unabhängig davon, ob das Dokument bereits registriert ist. Dies ist eine bequeme Methode, die die Funktionalität von RegisterAndLockDocument und kombiniert FindAndLockDocumentEx . RegisterAndLockDocument Gibt einen Fehler zurück, wenn das Dokument bereits registriert ist. FindAndLockDocumentEx Gibt einen Fehler zurück, wenn er nicht registriert ist. Wenn eine RDT_EditLock gewünscht ist und das Dokument derzeit nur bei einer RDT_ReadLock registriert ist, der kein PDA/Itemid zugewiesen ist, weist diese Funktion dem Dokument die bevorzugte phier/Itemid zu.

COM-Signatur

Aus vsshell80. idl:

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

Gilt für