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