Método IVsRunningDocumentTable.FindAndLockDocument (UInt32, String, IVsHierarchy, UInt32, IntPtr, UInt32)
Localiza um documento em que o RDT usando o nome de arquivo do documento e, em seguida, obtém um bloqueio de leitura ou edição nesse documento.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
int FindAndLockDocument(
uint dwRDTLockType,
string pszMkDocument,
out IVsHierarchy ppHier,
out uint pitemid,
out IntPtr ppunkDocData,
out uint pdwCookie
)
int FindAndLockDocument(
unsigned int dwRDTLockType,
String^ pszMkDocument,
[OutAttribute] IVsHierarchy^% ppHier,
[OutAttribute] unsigned int% pitemid,
[OutAttribute] IntPtr% ppunkDocData,
[OutAttribute] unsigned int% pdwCookie
)
abstract FindAndLockDocument :
dwRDTLockType:uint32 *
pszMkDocument:string *
ppHier:IVsHierarchy byref *
pitemid:uint32 byref *
ppunkDocData:nativeint byref *
pdwCookie:uint32 byref -> int
Function FindAndLockDocument (
dwRDTLockType As UInteger,
pszMkDocument As String,
<OutAttribute> ByRef ppHier As IVsHierarchy,
<OutAttribute> ByRef pitemid As UInteger,
<OutAttribute> ByRef ppunkDocData As IntPtr,
<OutAttribute> ByRef pdwCookie As UInteger
) As Integer
Parâmetros
- dwRDTLockType
[in] Sinalizadores cujos valores são obtidos a partir do _VSRDTFLAGS enumeração.
- pszMkDocument
[in] Caminho para o documento localizado.
- ppHier
[out, opcional] Retorna o IVsHierarchy interface para o documento localizado.
- pitemid
[out, opcional] Retorna um identificador de item do documento localizado.Este é um identificador exclusivo ou pode ser um dos seguintes valores: VSITEMID_NIL, VSITEMID_ROOT, ou VSITEMID_SELECTION.
- ppunkDocData
[out, opcional] Retorna o IUnknown interface.Consulte os comentários para obter detalhes.
- pdwCookie
[out, opcional] Retorna um valor abstrato para o documento.
Valor de retorno
Type: System.Int32
Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.
Comentários
FindAndLockDocumentExé semelhante a este 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 for desejado e o documento no momento é registrado com apenas um RDT_ReadLock com nenhuma hierarquia/itemid atribuído.
Para evitar um vazamento de memória, você deve chamar M:System.Runtime.InteropServices.Marshal.Release sobre o ppunkDocData objeto retornado por esse método.
COM assinatura
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 de punkDocData
Se o documento estiver registrado, em seguida, a punkDocData valor retornado é sempre não-nulo porque o ambiente irá criar um punkDocData em nome dos editores registrado com um null valor de punkDocData, assim como acontece quando um Editor não tem separação/modo de exibição de dados.Este objeto representa o objeto de dados de documento associado ao documento registrado.Normalmente, o IVsPersistDocData e IVsDocDataFileChangeControl interfaces são obtidos a partir dessa IUnknown objeto.
Parâmetro de pdwCookie
O pdwCookie parâmetro retorna um cookie que representa o documento.Esse cookie pode ser passado para os seguintes métodos:
Consulte também
Interface IVsRunningDocumentTable
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo