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] Возвращает абстрактное значение для документа.

Возвращаемое значение

Int32

Если метод завершается успешно, возвращает значение 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 может быть передан следующим методам:

Применяется к