Compartilhar via


Método IVsRunningDocumentTable2.FindAndLockDocumentEx (UInt32, String, IVsHierarchy, UInt32, IVsHierarchy, UInt32, IntPtr, UInt32)

 

Publicado: abril de 2016

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.8.0 (em Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Sintaxe

int FindAndLockDocumentEx(
    uint grfRDTLockType,
    string pszMkDocument,
    IVsHierarchy pHierPreferred,
    uint itemidPreferred,
    out IVsHierarchy ppHierActual,
    out uint pitemidActual,
    out IntPtr ppunkDocDataActual,
    out uint pdwCookie
)
int FindAndLockDocumentEx(
    unsigned int grfRDTLockType,
    String^ pszMkDocument,
    IVsHierarchy^ pHierPreferred,
    unsigned int itemidPreferred,
    [OutAttribute] IVsHierarchy^% ppHierActual,
    [OutAttribute] unsigned int% pitemidActual,
    [OutAttribute] IntPtr% ppunkDocDataActual,
    [OutAttribute] unsigned int% pdwCookie
)
abstract FindAndLockDocumentEx : 
        grfRDTLockType:uint32 *
        pszMkDocument:string *
        pHierPreferred:IVsHierarchy *
        itemidPreferred:uint32 *
        ppHierActual:IVsHierarchy byref *
        pitemidActual:uint32 byref *
        ppunkDocDataActual:nativeint byref *
        pdwCookie:uint32 byref -> int
Function FindAndLockDocumentEx (
    grfRDTLockType As UInteger,
    pszMkDocument As String,
    pHierPreferred As IVsHierarchy,
    itemidPreferred As UInteger,
    <OutAttribute> ByRef ppHierActual As IVsHierarchy,
    <OutAttribute> ByRef pitemidActual As UInteger,
    <OutAttribute> ByRef ppunkDocDataActual As IntPtr,
    <OutAttribute> ByRef pdwCookie As UInteger
) As Integer

Parâmetros

  • grfRDTLockType
    [in] Sinalizadores cujos valores são obtidos a partir do _VSRDTFLAGS enumeração.
  • pszMkDocument
    [in] Caminho para o documento localizado.
  • pHierPreferred
    [out, opcional] Retorna preferida a IVsHierarchy interface para o documento localizado.
  • itemidPreferred
    [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.
  • ppHierActual
    [out, opcional] Retorna o real IVsHierarchy interface para o documento localizado.
  • ppunkDocDataActual
    [out, opcional] Retorna o IUnknown interface.
  • 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

Este método é semelhante a FindAndLockDocument , 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.Nesse caso FindAndLockDocument poderia ter retornado E_UNEXPECTED.Este método não registrará o documento na tabela que executam o documento se ele não estiver registrado no momento.

COM assinatura

De vsshell80.idl:

HRESULT FindAndLockDocumentEx(
    [in] VSRDTFLAGS grfRDTLockType,
    [in] LPCOLESTR pszMkDocument,
    [in] IVsHierarchy *pHierPreferred,
    [in] VSITEMID itemidPreferred,
    [out] IVsHierarchy **ppHierActual,
    [out] VSITEMID *pitemidActual,
    [out] IUnknown **ppunkDocDataActual,
    [out] VSCOOKIE *pdwCookie
);

Consulte também

Interface IVsRunningDocumentTable2
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo