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 SccCreateSubProject
aSccGetParentProjectPath
.
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.