Partilhar via


Método IVsProject.OpenItem (UInt32, Guid, IntPtr, IVsWindowFrame)

 

Publicado: abril de 2016

Abre um item no projeto.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)

Sintaxe

int OpenItem(
    uint itemid,
    [InAttribute] ref Guid rguidLogicalView,
    IntPtr punkDocDataExisting,
    out IVsWindowFrame ppWindowFrame
)
int OpenItem(
    unsigned int itemid,
    [InAttribute] Guid% rguidLogicalView,
    IntPtr punkDocDataExisting,
    [OutAttribute] IVsWindowFrame^% ppWindowFrame
)
abstract OpenItem : 
        itemid:uint32 *
        rguidLogicalView:Guid byref *
        punkDocDataExisting:nativeint *
        ppWindowFrame:IVsWindowFrame byref -> int
Function OpenItem (
    itemid As UInteger,
    <InAttribute> ByRef rguidLogicalView As Guid,
    punkDocDataExisting As IntPtr,
    <OutAttribute> ByRef ppWindowFrame As IVsWindowFrame
) As Integer

Parâmetros

  • itemid
    [in] Identificador do item para abrir.Deve ser VSITEMID_ROOT ou outro identificador de item válido.Consulte o VSITEMID enumeração.
  • rguidLogicalView
    [in] Identificador exclusivo da visão lógica.Se não for GUID_NULL, indica um tipo específico de modo de exibição para criar.Para obter mais informações, consulte o LOGVIEWID.
  • punkDocDataExisting
    [in] Ponteiro para o objeto de dados do item para abrir o documento.Se o chamador de OpenItem tinha um ponteiro para o objeto de dados do documento, ele seria passá-lo a punkDocDataExisting parâmetro.Se o chamador soubesse que o objeto de dados do documento não estava aberto, ele pode passar null.Se o chamador não sabia se o objeto de dados do documento foi aberto ou se ele não queria procurá-lo na tabela de documento em execução (RDT) para descobrir, em seguida, ele poderia passar no DOCDATAEXISTING_UNKNOWN.Se esse valor é passado, em seguida, OpenStandardEditor consultará o valor de RDT chamando FindAndLockDocument (RDT_EditLock) para determinar se o arquivo (objeto de dados de documento) já está aberto.

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

COM assinatura

De vsshell.idl:

HRESULT IVsProject::OpenItem(
   [in] VSITEMID itemid,
   [in] REFGUID rguidLogicalView,
   [in] IUnknown *punkDocDataExisting,
   [out] IVsWindowFrame **ppWindowFrame
);

Com a implementação de IVsProjectSpecificEditorMap2 Interface no seu projeto de objeto, você pode fazer o tratamento específico do projeto de arquivos.Ou seja, você pode suportar a abrir o arquivo em um editor específico do projeto ou permitindo que o editor de global abrir o item.Abrir um item requer a iniciar um editor usando OpenStandardEditor ou OpenSpecificEditor, dependendo do tratamento que você deseja implementar.Para obter mais informações, consulte GetSpecificEditorProperty.

System_CAPS_noteObservação

Na sua implementação de OpenItem, não chame Show na moldura da janela, você pode retornar na ppWindowFrame.

Compare com ReopenItem método.

Consulte também

Interface IVsProject
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo