IVsRunningDocumentTable2.FindOrRegisterAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, IVsHierarchy, UInt32, IntPtr, UInt32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет блокировку к зарегистрированному или незарегистрированному элементу.
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
Параметры
- grfRDTLockType
- UInt32
[in] Флаги, значения которых берутся из перечисления _VSRDTFLAGS.
- pszMkDocument
- String
[in] Путь к обнаруженному документу.
- pHierPreferred
- IVsHierarchy
[out, optional] Возвращает предпочитаемый интерфейс IVsHierarchy для найденного документа.
- itemidPreferred
- UInt32
[out, optional] Возвращает идентификатор элемента найденного документа. Это уникальный идентификатор или он может иметь одно из следующих значений: VSITEMID_NIL, VSITEMID_ROOT или VSITEMID_SELECTION.
- punkDocData
- IntPtr
[out, optional] Возвращает интерфейс IUnknown.
- ppHierActual
- IVsHierarchy
[out, optional] Возвращает фактический интерфейс IVsHierarchy для найденного документа.
- pitemidActual
- UInt32
[out, optional] Возвращает идентификатор элемента найденного документа. Это уникальный идентификатор или он может иметь одно из следующих значений: VSITEMID_NIL, VSITEMID_ROOT или VSITEMID_SELECTION.
- ppunkDocDataActual
- IntPtr
[out, optional] Возвращает интерфейс IUnknown.
- pdwCookie
- UInt32
[out, optional] Возвращает абстрактное значение для документа.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.
Комментарии
Этот метод обрабатывает все случаи добавления блокировки в документ независимо от того, зарегистрирован документ или нет. Это удобный метод, объединяющий функциональные возможности RegisterAndLockDocument и FindAndLockDocumentEx . RegisterAndLockDocument Возвращает ошибку, если документ уже зарегистрирован. FindAndLockDocumentEx Возвращает ошибку, если она не зарегистрирована. Если требуется RDT_EditLock и документ в настоящий момент зарегистрирован только с RDT_ReadLock без назначенных Фиер/ItemId, эта функция присвоит документу предпочтительный Фиер/ItemId.
Подпись COM
Из 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
);