IVsUIShellOpenDocument.OpenDocumentViaProjectWithSpecific(String, UInt32, Guid, String, Guid, IServiceProvider, IVsUIHierarchy, UInt32, IVsWindowFrame) Método

Definição

Localiza um projeto especificado para abrir este documento.

public:
 int OpenDocumentViaProjectWithSpecific(System::String ^ pszMkDocument, System::UInt32 grfEditorFlags, Guid % rguidEditorType, System::String ^ pszPhysicalView, Guid % rguidLogicalView, [Runtime::InteropServices::Out] Microsoft::VisualStudio::OLE::Interop::IServiceProvider ^ % ppSP, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsUIHierarchy ^ % ppHier, [Runtime::InteropServices::Out] System::UInt32 % pitemid, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsWindowFrame ^ % ppWindowFrame);
public int OpenDocumentViaProjectWithSpecific (string pszMkDocument, uint grfEditorFlags, ref Guid rguidEditorType, string pszPhysicalView, ref Guid rguidLogicalView, out Microsoft.VisualStudio.OLE.Interop.IServiceProvider ppSP, out Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy ppHier, out uint pitemid, out Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame ppWindowFrame);
abstract member OpenDocumentViaProjectWithSpecific : string * uint32 * Guid * string * Guid * IServiceProvider * IVsUIHierarchy * uint32 * IVsWindowFrame -> int
Public Function OpenDocumentViaProjectWithSpecific (pszMkDocument As String, grfEditorFlags As UInteger, ByRef rguidEditorType As Guid, pszPhysicalView As String, ByRef rguidLogicalView As Guid, ByRef ppSP As IServiceProvider, ByRef ppHier As IVsUIHierarchy, ByRef pitemid As UInteger, ByRef ppWindowFrame As IVsWindowFrame) As Integer

Parâmetros

pszMkDocument
String

no Forma de cadeia de caracteres do identificador exclusivo do moniker do documento no sistema do projeto, por exemplo, o caminho completo para o arquivo. Em casos que não são de arquivo, esse identificador geralmente está na forma de uma URL.

grfEditorFlags
UInt32

no Sinalizadores cujos valores são extraídos da __VSSPECIFICEDITORFLAGS enumeração.

rguidEditorType
Guid

no Identificador exclusivo do tipo de editor.

pszPhysicalView
String

no Identificador exclusivo da exibição física.

rguidLogicalView
Guid

no Identificador exclusivo da exibição lógica. Se o editor implementar IVsMultiViewDocumentView no objeto de exibição de documento, o valor passado para o rguidLogicalView parâmetro determinará qual exibição será ativada quando a janela do editor for exibida, quando o editor for instanciado. Ao especificar o GUID de exibição lógica, você pode solicitar o modo de exibição específico que corresponda ao motivo pelo qual você está solicitando a exibição. Por exemplo, especifique LOGVIEWID_Debugging para obter a exibição apropriada para depuração ou LOGVIEWID_TextView para obter a exibição apropriada para o editor de texto (ou seja, uma exibição que implementa IVsCodeWindow ).

ppSP
IServiceProvider

fora Ponteiro para a IServiceProvider interface.

ppHier
IVsUIHierarchy

fora Ponteiro para a IVsUIHierarchy interface do projeto que pode abrir o documento.

pitemid
UInt32

fora Ponteiro para o identificador de item de hierarquia do documento no projeto. Para obter mais informações, consulte VSITEMID.

ppWindowFrame
IVsWindowFrame

[out, retval] Ponteiro para o quadro de janela que contém o editor. Para obter mais informações, consulte IVsWindowFrame.

Retornos

Int32

Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro.

Comentários

Assinatura COM

De VSShell. idl:

HRESULT IVsUIShellOpenDocument::OpenDocumentViaProjectWithSpecific(  
   [in] LPCOLESTR pszMkDocument,  
   [in] VSSPECIFICEDITORFLAGS grfEditorFlags,  
   [in] REFGUID rguidEditorType,  
   [in] LPCOLESTR pszPhysicalView,  
   [in] REFGUID rguidLogicalView,  
   [out] IServiceProvider **ppSP,  
   [out] IVsUIHierarchy **ppHier,  
   [out] VSITEMID *pitemid,  
   [out, retval] IVsWindowFrame **ppWindowFrame  
);  

Esse método é usado por VSPackages que não são projetos que precisam abrir um documento em um editor específico, mas não se preocupam com o projeto que abre o arquivo. Para chamar esse método de seu VSPackage, você precisa saber exatamente qual fábrica do editor deseja e exatamente qual janela deseja que a fábrica do editor crie (ou seja, a exibição física). A exibição lógica especificada no rguidLogicalView parâmetro permite ainda especificar qual guia deve ser exibida pelo editor se o editor implementar IVsMultiViewDocumentView .

Esse método chama OpenItem. Se nenhum projeto puder atender ao arquivo e o projeto de arquivos diversos ainda não estiver presente, o ambiente criará o projeto de arquivos diversos e tentará novamente.

Aplica-se a