Sdílet prostřednictvím


IVsUIShellOpenDocument.SearchProjectsForRelativePath – metoda (UInt32, String, String )

 

Relativní cesta dokumentu převede na absolutní cestu, která mohou být předány do OpenDocumentViaProject.

Obor názvů:   Microsoft.VisualStudio.Shell.Interop
Sestavení:  Microsoft.VisualStudio.Shell.Interop (v Microsoft.VisualStudio.Shell.Interop.dll)

Syntaxe

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

Parametry

  • grfRPS
    [v] Příznaky určující, jak by měly být řešeny cestu hledání.Další informace naleznete v tématu __VSRELPATHSEARCHFLAGS.
  • pszRelPath
    [v] Relativní cesta k dokumentu.Jednoduše může být název souboru.
  • pbstrAbsPath
    [out retval] Úplný název cesty dokumentu.Je stejné jako pszMkDocument řetězcovou hodnotu.

Vrácená hodnota

Type: System.Int32

Pokud metoda uspěje, vrací S_OK.Pokud se nezdaří, vrátí kód chyby.

Poznámky

Podpis COM

Z vsshell.idl:

HRESULT IVsUIShellOpenDocument::SearchProjectsForRelativePath(
   [in] VSRELPATHSEARCHFLAGS grfRPS,
   [in] LPCOLESTR pszRelPath,
   [out, retval] BSTR *pbstrAbsPath
);

Tato metoda využívá dvou strategií:

  • Výčet položek projektu ve všech projektech a porovnává pszRelPath do pszMkDocument (nebo projektu cesty, pokud RPS_MatchByProjectPath zadán příznak) položky projektu.Při porovnávání se nerozlišují malá a velká písmena.Hodnota pszRelPath může být název dokumentu bez cesty nebo název dokumentu s částečnou cestu, která odpovídá platné pravé části pszMkDocument (nebo cesta k projektu).Aktivní projekt je první prioritu.Tento krok můžete přeskočit nastavením grfRPS na hodnotu parametru RPS_SkipEnumProjectItems.

  • Požádejte všechny globálně registrované IVsRelativePathResolver objekty cestu.Tento mechanismus umožňuje služba jazyka projektu řešení proti položky – Projekt relativní cesty (například v případě, že projekt má pojem zahrnout hledání cesty).Globální IVsRelativePathResolver objekty by zaregistrovat službu GUID (SID) jako podklíč v registru v klíči HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0\RelativePathResolvers.QueryServiceKaždý registrovaný služby, se nazývá IVsRelativePathResolver rozhraní.Tento krok můžete přeskočit nastavením grfRPS parametr rovná RPS_SkipGlobalResolvers.

Pokud žádná z metod k pokusu o výsledky v odpovídající funkce nastaví *pbstrAbsPath na null a vrátí S_FALSE.

Viz také

IVsUIShellOpenDocument – rozhraní
Microsoft.VisualStudio.Shell.Interop – obor názvů

Zpátky na začátek