Método IVsUIShellOpenDocument.IsSpecificDocumentViewOpen (IVsUIHierarchy, UInt32, String, Guid, String, UInt32, IVsUIHierarchy, UInt32, IVsWindowFrame, Int32)

 

Publicado: abril de 2016

Determina se um modo de exibição do documento especificado está aberto.

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

Sintaxe

int IsSpecificDocumentViewOpen(
    IVsUIHierarchy pHierCaller,
    uint itemidCaller,
    string pszMkDocument,
    [InAttribute] ref Guid rguidEditorType,
    string pszPhysicalView,
    uint grfIDO,
    out IVsUIHierarchy ppHierOpen,
    out uint pitemidOpen,
    out IVsWindowFrame ppWindowFrame,
    out int pfOpen
)
int IsSpecificDocumentViewOpen(
    IVsUIHierarchy^ pHierCaller,
    unsigned int itemidCaller,
    String^ pszMkDocument,
    [InAttribute] Guid% rguidEditorType,
    String^ pszPhysicalView,
    unsigned int grfIDO,
    [OutAttribute] IVsUIHierarchy^% ppHierOpen,
    [OutAttribute] unsigned int% pitemidOpen,
    [OutAttribute] IVsWindowFrame^% ppWindowFrame,
    [OutAttribute] int% pfOpen
)
abstract IsSpecificDocumentViewOpen : 
        pHierCaller:IVsUIHierarchy *
        itemidCaller:uint32 *
        pszMkDocument:string *
        rguidEditorType:Guid byref *
        pszPhysicalView:string *
        grfIDO:uint32 *
        ppHierOpen:IVsUIHierarchy byref *
        pitemidOpen:uint32 byref *
        ppWindowFrame:IVsWindowFrame byref *
        pfOpen:int byref -> int
Function IsSpecificDocumentViewOpen (
    pHierCaller As IVsUIHierarchy,
    itemidCaller As UInteger,
    pszMkDocument As String,
    <InAttribute> ByRef rguidEditorType As Guid,
    pszPhysicalView As String,
    grfIDO As UInteger,
    <OutAttribute> ByRef ppHierOpen As IVsUIHierarchy,
    <OutAttribute> ByRef pitemidOpen As UInteger,
    <OutAttribute> ByRef ppWindowFrame As IVsWindowFrame,
    <OutAttribute> ByRef pfOpen As Integer
) As Integer

Parâmetros

  • pHierCaller
    [in] Identificador da hierarquia do chamador é passado como um ponteiro para o chamador IVsUIHierarchy implementação.Este parâmetro é usado pela implementação do ambiente do IsSpecificDocumentViewOpen se o chamador especificar um valor de IDO_ActivateIfOpen para o grfIDO parâmetro..
  • itemidCaller
    [in] Identificador de item de hierarquia de interface do usuário do chamador.Usado com IDO_ActivateIfOpen.Para obter mais informações, consulte: VSITEMID.
  • pszMkDocument
    [in] Formulário do identificador exclusivo do identificador de origem do documento em seqüência no sistema de projeto, por exemplo, o caminho completo para o arquivo.Em casos diferentes de arquivos, esse identificador é muitas vezes na forma de um URL.
  • rguidEditorType
    [in] GUID da fábrica de editor.Esse valor, em combinação com pszPhysicalView é usado para criar o identificador exclusivo do modo de exibição do documento especificado.
  • pszPhysicalView
    [in] Seqüência de caracteres de exibição física.Esse valor, em combinação com rguidEditorType, é usado para criar o identificador exclusivo do modo de exibição do documento especificado.
  • grfIDO
    [in] Sinalizadores que controlam quais ações são executadas no documento aberto.Para obter uma lista de valores, consulte __VSIDOFLAGS.
  • ppHierOpen
    [out] Se pfOpen é true, e em seguida, esse parâmetro é um ponteiro para o IVsUIHierarchy implementação da IVsHierarchy , que possui o modo de exibição.Se pfOpen é false, e em seguida, este parâmetro é null.
  • pitemidOpen
    [out] Se pfOpen for true, e em seguida, esse parâmetro é um ponteiro para o identificador de item de hierarquia de interface do usuário do documento aberto que é representado pelo modo de exibição especificado.Se pfOpen é false, e em seguida, este parâmetro é null.Para obter mais informações, consulte: VSITEMID.
  • ppWindowFrame
    [out] Se pfOpen for true, e em seguida, esse parâmetro é um ponteiro para o IVsWindowFrame que contém o modo de exibição especificado.
  • pfOpen
    [out, retval] true se o modo de exibição do documento especificado estiver aberto.falseSe o modo de exibição do documento especificado não 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 IVsUIShellOpenDocument::IsSpecificDocumentViewOpen(
   [in] IVsUIHierarchy *pHierCaller,
   [in] VSITEMID itemidCaller,
   [in] LPCOLESTR pszMkDocument,
   [in] REFGUID rguidEditorType,
   [in] LPCOLESTR pszPhysicalView,
   [in] VSIDOFLAGS grfIDO,
   [out] IVsUIHierarchy **ppHierOpen,
   [out] VSITEMID *pitemidOpen,
   [out] IVsWindowFrame **ppWindowFrame,
   [out, retval] BOOL *pfOpen
);

IsSpecificDocumentViewOpenObtém um par de hierarquia/itemID como entrada que identifica o chamador que quer saber se o modo de exibição está aberto.Se o modo de exibição do documento especificado estiver aberto no IDE, este método compara esse par de hierarquia/itemID para o par de hierarquia/itemID que detém atualmente no documento aberto (ou seja, a hierarquia de proprietário) para determinar se as hierarquias são diferentes.

Se outra hierarquia tem o modo de exibição de documento aberto e hierarquia implementa IVsSupportItemHandoff, em seguida, a IVsUIShellOpenDocument::IsSpecificDocumentViewOpen implementação chama a hierarquia IVsSupportItemHandoff implementação e passa o par de hierarquia/itemID para a hierarquia de chamada (pHierCaller/itemidCaller).O documento, em seguida, é transferido para a hierarquia de chamada.Se a hierarquia não implementa IVsSupportItemHandoff, e em seguida, uma caixa de mensagem é exibida com o texto a seguir, "O documento é aberto por outro projeto.", O modo de exibição do documento não será transferido para a hierarquia de chamada e a exibição de documento existente é adiada no contexto da hierarquia do proprietário.

Consulte também

Interface IVsUIShellOpenDocument
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo