SccGetParentProjectPath – funkce

Tato funkce určuje nadřazenou cestu projektu zadaného projektu. Tato funkce se volá, když uživatel přidává projekt sady Visual Studio do správy zdrojového kódu.

Syntaxe

SCCRTN SccGetParentProjectPath(
   LPVOID pContext,
   HWND   hWnd,
   LPSTR  lpUser,
   LPCSTR lpProjPath,
   LPSTR  lpAuxProjPath,
   LPSTR  lpParentProjPath
);

Parametry

pContext

[v] Kontextový ukazatel modulu plug-in správy zdrojového kódu.

Hwnd

[v] Popisovač okna integrovaného vývojového prostředí(IDE), které modul plug-in správy zdrojového kódu může použít jako nadřazený prvek pro všechna dialogová okna, která poskytuje.

lpUser

[in, out] Uživatelské jméno (až SCC_USER_SIZE, včetně ukončovací funkce NULL).

lpProjPath

[v] Řetězec identifikující cestu projektu (až do SCC_PRJPATH_SIZE, včetně ukončovací funkce NULL).

lpAuxProjPath

[in, out] Pomocný řetězec identifikující projekt (až SCC_PRJPATH_SIZE, včetně ukončovací funkce NULL).

lpParentProjPath

[in, out] Výstupní řetězec identifikující nadřazenou cestu projektu (až do SCC_PRJPATH_SIZE, včetně ukončovací funkce NULL).

Vrácená hodnota

Očekává se, že implementace modulu plug-in správy zdrojového kódu této funkce vrátí jednu z následujících hodnot:

Hodnota Popis
SCC_OK Cesta nadřazeného projektu byla úspěšně získána.
SCC_E_INITIALIZEFAILED Projekt nelze inicializovat.
SCC_E_INVALIDUSER Uživatel se nemohl přihlásit k modulu plug-in správy zdrojového kódu.
SCC_E_UNKNOWNPROJECT Modul plug-in správy zdrojového kódu není pro projekt neznámý.
SCC_E_INVALIDFILEPATH Neplatná nebo nepoužitelná cesta k souboru
SCC_E_NOTAUTHORIZED Uživatel nemůže tuto operaci provést.
SCC_E_ACCESSFAILURE Při přístupu k systému správy zdrojového kódu došlo k potížím, pravděpodobně kvůli problémům se sítí nebo kolizí. Doporučuje se opakování.
SCC_E_PROJSYNTAXERR Neplatná syntaxe projektu
SCC_E_CONNECTIONFAILURE Problém s připojením k úložišti
SCC_E_NONSPECIFICERROR

SCC_E_UNKNOWNERROR
Nespecifické selhání.

Poznámky

Tato funkce vrátí kód úspěchu nebo selhání a v případě úspěchu vyplní proměnnou lpParentProjPath úplnou cestou k zadanému projektu.

Tato funkce vrátí nadřazenou cestu projektu existujícího projektu. Pro kořenový projekt vrátí funkce cestu projektu, která byla předána (to znamená stejná kořenová cesta projektu). Všimněte si, že cesta k projektu je řetězec, který je smysluplný pouze pro modul plug-in správy zdrojového kódu.

Integrované vývojové prostředí (IDE) je připravené přijmout také změny lpUser parametrů a lpAuxProjPath parametrů. Integrované vývojové prostředí (IDE) tyto řetězce zachovají a předají je do projektu SccOpenProject , když uživatel tento projekt otevře v budoucnu. Tyto řetězce proto poskytují způsob, jak modul plug-in správy zdrojového kódu sledovat informace, které potřebuje přidružit k projektu.

Tato funkce je podobná SccGetProjPath, s tím rozdílem, že se uživateli nezobrazí výzva k výběru projektu. Také nikdy ne vytvoří nový projekt, ale funguje pouze s existujícím projektem.

Při SccGetParentProjectPath zavolání lpProjPath nebude prázdný a lpAuxProjPath bude odpovídat platnému projektu. Tyto řetězce obvykle přijímá integrované vývojové prostředí (IDE) z předchozího volání SccGetProjPath funkce.

Argumentem lpUser je uživatelské jméno. Integrované vývojové prostředí (IDE) předá stejné uživatelské jméno, které dříve obdrželo od SccGetProjPath funkce, a modul plug-in správy zdrojového kódu by měl použít název jako výchozí. Pokud už uživatel má otevřené připojení k modulu plug-in, měl by se modul plug-in pokusit odstranit všechny výzvy, aby funkce fungovala bezobslužně. Pokud se ale přihlášení nezdaří, měl by modul plug-in vyzvat uživatele k přihlášení a při přijetí platného přihlášení předat jméno zpět lpUser. Protože modul plug-in může tento řetězec změnit, integrované vývojové prostředí vždy přidělí vyrovnávací paměť velikosti (SCC_USER_LEN+1). Pokud se řetězec změní, musí být nový řetězec platným přihlašovacím jménem (alespoň jako starý řetězec).

Technické poznámky pro SccCreateSubProject a SccGetParentProjectPath

Přidání řešení a projektů do správy zdrojového kódu bylo v sadě Visual Studio zjednodušené, aby se minimalizoval počet zobrazení výzvy k výběru umístění v systému správy zdrojového kódu. Tyto změny jsou aktivovány sadou Visual Studio, pokud modul plug-in správy zdrojového kódu podporuje obě nové funkce, SccCreateSubProject a SccGetParentProjectPath funkci. Následující položku registru však můžete použít k zakázání těchto změn a vrátit se k předchozímu chování rozhraní API modulu plug-in správy zdrojového kódu verze 1.1:

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\SourceControl] "DoNotCreateSolutionRootFolderInSourceControl"=dword:00000001

Pokud tato položka registru neexistuje nebo je nastavena na dword:000000000, Visual Studio se pokusí použít nové funkce SccCreateSubProjectaSccGetParentProjectPath.

Pokud je položka registru nastavena na dword:00000001, Visual Studio se nepokoušá používat tyto nové funkce a operace přidávání do správy zdrojového kódu fungují stejně jako v předchozích verzích sady Visual Studio.

Viz také