Freigeben über


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.

Siehe auch