SccGetParentProjectPath-Funktion
Diese Funktion bestimmt den übergeordneten Projektpfad eines angegebenen Projekts. Diese Funktion wird aufgerufen, wenn der Benutzer ein Visual Studio-Projekt zur Quellcodeverwaltung hinzufügt.
Syntax
SCCRTN SccGetParentProjectPath(
LPVOID pContext,
HWND hWnd,
LPSTR lpUser,
LPCSTR lpProjPath,
LPSTR lpAuxProjPath,
LPSTR lpParentProjPath
);
Parameter
pContext
[in] Der Kontextzeiger für das Quellcodeverwaltungs-Plug-In.
hWnd
[in] Ein Handle für das IDE-Fenster, das das Quellcodeverwaltungs-Plug-In als übergeordnetes Element für alle von ihr bereitgestellten Dialogfelder verwenden kann.
lpUser
[in, out] Der Benutzername (bis zu SCC_USER_SIZE, einschließlich des NULL-Terminators).
lpProjPath
[in] Zeichenfolge, die den Projektpfad identifiziert (bis zu SCC_PRJPATH_SIZE, einschließlich des NULL-Terminators).
lpAuxProjPath
[in, out] Hilfszeichenfolge, die das Projekt identifiziert (bis zu SCC_PRJPATH_SIZE, einschließlich des NULL-Terminators).
lpParentProjPath
[in, out] Ausgabezeichenfolge, die den übergeordneten Projektpfad identifiziert (bis zu SCC_PRJPATH_SIZE, einschließlich des NULL-Terminators).
Rückgabewert
Die Plug-In-Implementierung dieser Funktion für die Quellcodeverwaltung wird voraussichtlich einen der folgenden Werte zurückgeben:
Wert | Beschreibung |
---|---|
SCC_OK | Der übergeordnete Projektpfad wurde erfolgreich abgerufen. |
SCC_E_INITIALIZEFAILED | Project konnte nicht initialisiert werden. |
SCC_E_INVALIDUSER | Der Benutzer konnte sich nicht beim Quellcodeverwaltungs-Plug-In anmelden. |
SCC_E_UNKNOWNPROJECT | Project ist für das Quellcodeverwaltungs-Plug-In unbekannt. |
SCC_E_INVALIDFILEPATH | Ungültiger oder nicht verwendbarer Dateipfad. |
SCC_E_NOTAUTHORIZED | Der Benutzer darf diesen Vorgang nicht ausführen. |
SCC_E_ACCESSFAILURE | Es gab ein Problem beim Zugriff auf das Quellcodeverwaltungssystem, wahrscheinlich aufgrund von Netzwerk- oder Inhaltsproblemen. Es wird ein Wiederholungsversuche empfohlen. |
SCC_E_PROJSYNTAXERR | Ungültige Projektsyntax. |
SCC_E_CONNECTIONFAILURE | Problem mit der Speicherverbindung. |
SCC_E_NONSPECIFICERROR SCC_E_UNKNOWNERROR |
Nicht spezifischer Fehler. |
Hinweise
Diese Funktion gibt einen Erfolgs- oder Fehlercode zurück und füllt bei erfolgreicher Ausführung die Variable lpParentProjPath
mit dem vollständigen Projektpfad zum angegebenen Projekt aus.
Diese Funktion gibt den übergeordneten Projektpfad eines vorhandenen Projekts zurück. Für das Stammprojekt gibt die Funktion den Projektpfad zurück, der übergeben wurde (d. a. denselben Stammprojektpfad). Beachten Sie, dass ein Projektpfad eine Zeichenfolge ist, die nur für das Quellcodeverwaltungs-Plug-In aussagekräftig ist.
Die IDE ist bereit, auch Änderungen an den lpUser
Parametern und lpAuxProjPath
Parametern zu akzeptieren. Die IDE speichert diese Zeichenfolgen und übergibt sie an SccOpenProject, wenn der Benutzer dieses Projekt in Zukunft öffnet. Diese Zeichenfolgen bieten daher eine Möglichkeit für das Quellcodeverwaltungs-Plug-In zum Nachverfolgen von Informationen, die sie einem Projekt zuordnen müssen.
Diese Funktion ähnelt dem SccGetProjPath, mit der Ausnahme, dass der Benutzer nicht aufgefordert wird, ein Projekt auszuwählen. Außerdem wird nie ein neues Projekt erstellt, sondern nur mit einem vorhandenen Projekt.
Wenn SccGetParentProjectPath
sie aufgerufen lpProjPath
wird und lpAuxProjPath
nicht leer ist und einem gültigen Projekt entspricht. Diese Zeichenfolgen werden in der Regel von der IDE von einem vorherigen Aufruf der SccGetProjPath
Funktion empfangen.
Das lpUser
Argument ist der Benutzername. Die IDE übergibt denselben Benutzernamen, den sie zuvor von der SccGetProjPath
Funktion erhalten hatte, und das Quellcodeverwaltungs-Plug-In sollte den Namen als Standard verwenden. Wenn der Benutzer bereits über eine offene Verbindung mit dem Plug-In verfügt, sollte das Plug-In versuchen, alle Eingabeaufforderungen zu beseitigen, um sicherzustellen, dass die Funktion im Hintergrund funktioniert. Wenn die Anmeldung jedoch fehlschlägt, sollte das Plug-In den Benutzer zur Eingabe einer Anmeldung auffordern und, wenn er eine gültige Anmeldung empfängt, den Namen wieder lpUser
übergeben. Da das Plug-In diese Zeichenfolge ändern kann, weist die IDE immer einen Puffer der Größe zu (SCC_USER_LEN
+1). Wenn die Zeichenfolge geändert wird, muss die neue Zeichenfolge ein gültiger Anmeldename sein (mindestens so gültig wie die alte Zeichenfolge).
Technische Hinweise für SccCreateSubProject und SccGetParentProjectPath
Das Hinzufügen von Lösungen und Projekten zur Quellcodeverwaltung wurde in Visual Studio vereinfacht, um zu minimieren, wie oft ein Benutzer aufgefordert wird, Speicherorte im Quellcodeverwaltungssystem auszuwählen. Diese Änderungen werden von Visual Studio aktiviert, wenn ein Quellcodeverwaltungs-Plug-In beide neuen Funktionen unterstützt, das SccCreateSubProject und die SccGetParentProjectPath
Funktion. Der folgende Registrierungseintrag kann jedoch verwendet werden, um diese Änderungen zu deaktivieren und auf das vorherige Visual Studio-Verhalten (Quellcodeverwaltungs-Plug-In-API, Version 1.1) zurückgesetzt zu werden:
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\SourceControl] "DoNotCreateSolutionRootFolderInSourceControl"=dword:00000001
Wenn dieser Registrierungseintrag nicht vorhanden ist oder auf dword:00000000 festgelegt ist, versucht Visual Studio, die neuen Funktionen zu verwenden, SccCreateSubProject
und SccGetParentProjectPath
.
Wenn der Registrierungseintrag auf "dword:00000001" festgelegt ist, versucht Visual Studio nicht, diese neuen Funktionen zu verwenden, und die Vorgänge zum Hinzufügen zur Quellcodeverwaltung funktionieren wie in früheren Versionen von Visual Studio.