IVsRunningDocumentTable2.FindOrRegisterAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, IVsHierarchy, UInt32, IntPtr, UInt32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Adiciona um bloqueio a um documento registrado ou não registrado.
public:
int FindOrRegisterAndLockDocument(System::UInt32 grfRDTLockType, System::String ^ pszMkDocument, Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pHierPreferred, System::UInt32 itemidPreferred, IntPtr punkDocData, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ % ppHierActual, [Runtime::InteropServices::Out] System::UInt32 % pitemidActual, [Runtime::InteropServices::Out] IntPtr % ppunkDocDataActual, [Runtime::InteropServices::Out] System::UInt32 % pdwCookie);
public int FindOrRegisterAndLockDocument (uint grfRDTLockType, string pszMkDocument, Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pHierPreferred, uint itemidPreferred, IntPtr punkDocData, out Microsoft.VisualStudio.Shell.Interop.IVsHierarchy ppHierActual, out uint pitemidActual, out IntPtr ppunkDocDataActual, out uint pdwCookie);
abstract member FindOrRegisterAndLockDocument : uint32 * string * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * nativeint * IVsHierarchy * uint32 * nativeint * uint32 -> int
Public Function FindOrRegisterAndLockDocument (grfRDTLockType As UInteger, pszMkDocument As String, pHierPreferred As IVsHierarchy, itemidPreferred As UInteger, punkDocData As IntPtr, ByRef ppHierActual As IVsHierarchy, ByRef pitemidActual As UInteger, ByRef ppunkDocDataActual As IntPtr, ByRef pdwCookie As UInteger) As Integer
Parâmetros
- grfRDTLockType
- UInt32
no Sinalizadores cujos valores são extraídos da _VSRDTFLAGS enumeração.
- pszMkDocument
- String
no Caminho para o documento localizado.
- pHierPreferred
- IVsHierarchy
[saída, opcional] Retorna a IVsHierarchy interface preferencial para o documento localizado.
- itemidPreferred
- 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 .
- punkDocData
- IntPtr
[saída, opcional] Retorna a IUnknown interface.
- ppHierActual
- IVsHierarchy
[saída, opcional] Retorna a IVsHierarchy interface real do documento localizado.
- pitemidActual
- 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 .
- ppunkDocDataActual
- IntPtr
[saída, opcional] Retorna a IUnknown interface.
- pdwCookie
- UInt32
[saída, opcional] Retorna um valor abstrato para o documento.
Retornos
Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro.
Comentários
Esse método trata todos os casos para adicionar um bloqueio a um documento, quer o documento já esteja registrado ou não. Esse é um método de conveniência que combina a funcionalidade do RegisterAndLockDocument e do FindAndLockDocumentEx . RegisterAndLockDocument retornará um erro se o documento já estiver registrado. FindAndLockDocumentEx retornará um erro se ele não estiver registrado. No caso em que um RDT_EditLock é desejado e o documento está atualmente registrado apenas com um RDT_ReadLock sem pHier/ItemId atribuído, essa função atribuirá o pHier/ItemId preferencial ao documento.
Assinatura COM
De vsshell80. idl:
HRESULT FindOrRegisterAndLockDocument(
[in] VSRDTFLAGS grfRDTLockType,
[in] LPCOLESTR pszMkDocument,
[in] IVsHierarchy *pHierPreferred,
[in] VSITEMID itemidPreferred,
[in] IUnknown *punkDocData,
[out] IVsHierarchy **ppHierActual,
[out] VSITEMID *pitemidActual,
[out] IUnknown **ppunkDocDataActual,
[out] VSCOOKIE *pdwCookie
);