IVsRunningDocumentTable.FindAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, UInt32) Método

Definição

Localiza um documento no RDT usando o nome do arquivo de documento e, em seguida, obtém um bloqueio de leitura ou edição nesse documento.

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

Parâmetros

dwRDTLockType
UInt32

no Sinalizadores cujos valores são extraídos da _VSRDTFLAGS enumeração.

pszMkDocument
String

no Caminho para o documento localizado.

ppHier
IVsHierarchy

[saída, opcional] Retorna a IVsHierarchy interface do documento localizado.

pitemid
UInt32

[saída, opcional] Retorna um identificador de item do documento localizado. Esse é um identificador exclusivo ou pode ser um dos seguintes valores: VSITEMID_NIL , VSITEMID_ROOT ou VSITEMID_SELECTION .

ppunkDocData
IntPtr

[saída, opcional] Retorna a IUnknown interface. Consulte Comentários para obter detalhes.

pdwCookie
UInt32

[saída, opcional] Retorna um valor abstrato para o documento.

Retornos

Int32

Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro.

Comentários

FindAndLockDocumentEx é semelhante a esse método, mas também permite a especificação de um par de hierarquia/ItemId preferencial para o documento no caso de um RDT_EditLock é desejado e o documento está atualmente registrado com apenas um RDT_ReadLock sem hierarquia/ItemId atribuída.

Para evitar um vazamento de memória, você deve chamar Release o ppunkDocData objeto retornado por esse método.

Assinatura COM

De VSShell. idl:

HRESULT IVsRunningDocumentTable::FindAndLockDocument(  
   [in] VSRDTFLAGS      dwRDTLockType,  
   [in] LPCOLESTR       pszMkDocument,  
   [out] IVsHierarchy **ppHier,  
   [out] VSITEMID      *pitemid,  
   [out] IUnknown     **ppunkDocData,  
   [out] VSCOOKIE      *pdwCookie  
);  

Parâmetro punkDocData

Se o documento estiver registrado, o punkDocData valor retornado será sempre não nulo, pois o ambiente criará um punkDocData em nome de editores registrados com um null valor para punkDocData , como é o caso quando um editor não tem separação de dados/exibição. Este objeto representa o objeto de dados de documento associado ao documento registrado. Normalmente, as IVsPersistDocData IVsDocDataFileChangeControl interfaces e são obtidas desse IUnknown objeto.

Parâmetro pdwCookie

O pdwCookie parâmetro retorna um cookie que representa o documento. Esse cookie pode ser passado para os seguintes métodos:

Aplica-se a