IVsRunningDocumentTable2.FindOrRegisterAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, IVsHierarchy, UInt32, IntPtr, UInt32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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
);