IVsRunningDocumentTable.FindAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, UInt32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Находит документ в RDT по имени файла документа, а затем получает блокировку чтения или редактирования этого документа.
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
Параметры
- dwRDTLockType
- UInt32
[in] Флаги, значения которых берутся из перечисления _VSRDTFLAGS.
- pszMkDocument
- String
[in] Путь к обнаруженному документу.
- ppHier
- IVsHierarchy
[out, optional] Возвращает интерфейс IVsHierarchy для найденного документа.
- pitemid
- UInt32
[out, optional] Возвращает идентификатор элемента найденного документа. Это уникальный идентификатор или он может иметь одно из следующих значений: VSITEMID_NIL, VSITEMID_ROOT или VSITEMID_SELECTION.
- ppunkDocData
- IntPtr
[out, optional] Возвращает интерфейс IUnknown. Дополнительные сведения см. в разделе "Примечания".
- pdwCookie
- UInt32
[out, optional] Возвращает абстрактное значение для документа.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.
Комментарии
FindAndLockDocumentEx аналогичен этому методу, но также разрешает спецификацию предпочтительной пары "иерархия — идентификатор itemId" для документа в том случае, если требуется RDT_EditLock и документ зарегистрирован в настоящий момент только с RDT_ReadLock без назначенной иерархии или ItemId.
Чтобы избежать утечки памяти, необходимо вызвать Release для ppunkDocData объекта, возвращаемого этим методом.
Подпись COM
Из всшелл. IDL:
HRESULT IVsRunningDocumentTable::FindAndLockDocument(
[in] VSRDTFLAGS dwRDTLockType,
[in] LPCOLESTR pszMkDocument,
[out] IVsHierarchy **ppHier,
[out] VSITEMID *pitemid,
[out] IUnknown **ppunkDocData,
[out] VSCOOKIE *pdwCookie
);
Пункдокдата, параметр
Если документ зарегистрирован, то punkDocData возвращаемое значение всегда имеет значение, отличное от NULL, так как среда создает от punkDocData имени редакторов, зарегистрированных со null значением для punkDocData , как в случае, когда в редакторе отсутствует разделение данных или представлений. Этот объект представляет объект данных документа, связанный с зарегистрированным документом. Как правило, IVsPersistDocData IVsDocDataFileChangeControl интерфейсы и получаются из этого IUnknown объекта.
Пдвкукие, параметр
pdwCookieПараметр возвращает файл cookie, представляющий документ. Этот файл cookie может быть передан следующим методам: