Udostępnij za pośrednictwem


Metoda IVsUIShellOpenDocument.SearchProjectsForRelativePath — (UInt32, String, String )

 

Ścieżka względna dla dokumentu jest konwertowany na ścieżkę bezwzględną, które mogą być przekazywane do OpenDocumentViaProject.

Przestrzeń nazw:   Microsoft.VisualStudio.Shell.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)

Składnia

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

  • pszRelPath
    Type: System.String

    [in] Względna ścieżka do dokumentu. Może to być po prostu nazwę pliku.

  • pbstrAbsPath
    Type: System.String[]

    [out, retval] Pełna ścieżka nazwa dokumentu. To jest taka sama jak pszMkDocument wartość ciągu.

Wartość zwracana

Type: System.Int32

Jeśli metoda zakończy się pomyślnie, zwraca S_OK. Jeśli nie, zwraca kod błędu.

Uwagi

Podpis COM

Z vsshell.idl:

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

Ta metoda korzysta z dwóch strategii:

  • Wylicza elementy projektu we wszystkich projektach i porównuje pszRelPath do pszMkDocument (lub projektu ścieżki, jeśli RPS_MatchByProjectPath określono flagę) elementu projektu. W porównaniu nie jest rozróżniana wielkość liter. Wartość pszRelPath może być nazwa dokumentu bez ścieżki lub nazwę dokumentu z częściową ścieżkę odpowiadającą prawidłowe po prawej stronie część pszMkDocument (lub ścieżka projektu). Aktywnego projektu jest priorytet. Ten krok można pominąć przez ustawienie grfRPS parametru na wartość RPS_SkipEnumProjectItems.

  • Poproś wszystkich globalny zarejestrowanych IVsRelativePathResolver obiektów, aby rozpoznać ścieżki. Ten mechanizm pozwala usługi języka projektu rozwiązać ścieżek względnych dla elementów poza projektem (na przykład, jeśli projekt ma koncepcji DOŁĄCZANA ścieżka wyszukiwania). Globalne IVsRelativePathResolver obiektów należy zarejestrować usługi identyfikatora GUID (SID) jako podrzędne klucza w rejestrze w kluczu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0\RelativePathResolvers.QueryService jest wywoływana dla każdej usługi zarejestrowanych dla IVsRelativePathResolver interfejsu. Ten krok można pominąć przez ustawienie grfRPS parametru równa RPS_SkipGlobalResolvers.

Żadna z metod próbie wyniki w dopasowaniu, funkcja ustawia *pbstrAbsPath do null i zwraca S_FALSE.

Zobacz też

Interfejs IVsUIShellOpenDocument
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop

Powrót do początku