IVsUIShellOpenDocument.OpenDocumentViaProjectWithSpecific(String, UInt32, Guid, String, Guid, IServiceProvider, IVsUIHierarchy, UInt32, IVsWindowFrame) 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.
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
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.