Método IVsUIShellOpenDocument.SearchProjectsForRelativePath (UInt32, String, String )

 

Publicado: abril de 2016

Converte um caminho relativo para um documento em um caminho absoluto que pode ser passado para OpenDocumentViaProject.

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

Sintaxe

int SearchProjectsForRelativePath(
    uint grfRPS,
    string pszRelPath,
    string[] pbstrAbsPath
)
int SearchProjectsForRelativePath(
    unsigned int grfRPS,
    String^ pszRelPath,
    array<String^>^ pbstrAbsPath
)
abstract SearchProjectsForRelativePath : 
        grfRPS:uint32 *
        pszRelPath:string *
        pbstrAbsPath:string[] -> int
Function SearchProjectsForRelativePath (
    grfRPS As UInteger,
    pszRelPath As String,
    pbstrAbsPath As String()
) As Integer

Parâmetros

  • grfRPS
    [in] Sinalizadores especificando como o caminho de pesquisa deve ser resolvido.Para obter mais informações, consulte __VSRELPATHSEARCHFLAGS.
  • pszRelPath
    [in] Caminho relativo ao documento.Isso pode ser simplesmente o nome do arquivo.
  • pbstrAbsPath
    [out, retval] Nome de caminho completo do documento.Isso é igual a pszMkDocument valor de seqüência de caracteres.

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::SearchProjectsForRelativePath(
   [in] VSRELPATHSEARCHFLAGS grfRPS,
   [in] LPCOLESTR pszRelPath,
   [out, retval] BSTR *pbstrAbsPath
);

Esse método usa duas estratégias:

  • Enumera os itens de projeto em todos os projetos e compara pszRelPath para o pszMkDocument (ou o projeto de caminho, se o RPS_MatchByProjectPath sinalizador for especificado) do item de projeto.A comparação não diferencia maiúsculas de minúsculas.O valor de pszRelPath pode ser um nome de documento sem um caminho ou nome de um documento com um caminho parcial que corresponda a uma parte válida de direita do pszMkDocument (ou caminho do projeto).O projeto ativo é dada a primeira prioridade.Esta etapa pode ser ignorada, definindo a grfRPS parâmetro com o valor de RPS_SkipEnumProjectItems.

  • Pergunte tudo globalmente registrado IVsRelativePathResolver objetos para resolver o caminho.Esse mecanismo permite que um serviço de linguagem do projeto resolver os caminhos relativos em relação a itens de projeto (por exemplo, se um projeto tem o conceito de um caminho de pesquisa de INCLUSÃO).Global IVsRelativePathResolver objetos devem registrar um GUID (SID) do serviço como uma subchave sob a chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0\RelativePathResolvers no registro.QueryServiceé chamado de cada serviço registrado para o IVsRelativePathResolver interface.Esta etapa pode ser ignorada, definindo a grfRPS parâmetro igual a RPS_SkipGlobalResolvers.

Se nenhum dos métodos tentada resultará em uma coincidência, a função define *pbstrAbsPath para null e retorna S_FALSE.

Consulte também

Interface IVsUIShellOpenDocument
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo