SccGetParentProjectPath-Funktion
Diese Funktion bestimmt den Elementen Projektpfad eines angegebenen Projekts. Diese Funktion wird aufgerufen, wenn der Benutzer ein Visual Studio-Projekt zur Quellcodeverwaltung hinzufügen.
SCCRTN SccGetParentProjectPath(
LPVOID pContext,
HWND hWnd,
LPSTR lpUser,
LPCSTR lpProjPath,
LPSTR lpAuxProjPath,
LPSTR lpParentProjPath
);
Parameter
pContext
[in] Der Zeiger Quellcodeverwaltungs-Plug-In-Kontext.hWnd
[in] Ein Handle für das IDE-Fenster, das das Quellcodeverwaltungs-Plug-In als übergeordnetes Element für alle Dialogfelder verwenden kann, die er bereitstellt.lpUser
[in, out] Der Benutzername (bis zu SCC_USER_SIZE, einschließlich des NULL-Terminators).lpProjPath
[in] Eine Zeichenfolge, die den Projektpfad identifiziert (bis zu SCC_PRJPATH_SIZE, einschließlich des NULL-Terminators).lpAuxProjPath
[in, out] Zusätzliche Zeichenfolge, die das Projekt identifiziert (bis zu SCC_PRJPATH_SIZE, einschließlich des NULL-Terminators).lpParentProjPath
[in, out] Geben Sie die Zeichenfolge, die aus den Elementen Projektpfad identifiziert (bis zu SCC_PRJPATH_SIZE, einschließlich des NULL-Terminators).
Rückgabewert
Die Quellcodeverwaltungs-Plug-In-Implementierung dieser Funktion wird erwartet, dass es sich um einen der folgenden Werte zurückgeben:
Wert |
Beschreibung |
---|---|
SCC_OK |
übergeordneter Projektpfad wurde erfolgreich abgerufen. |
SCC_E_INITIALIZEFAILED |
Projekt konnte nicht initialisiert werden. |
SCC_E_INVALIDUSER |
Der Benutzer kann nicht an das Quellcodeverwaltungs-Plug-In anmelden. |
SCC_E_UNKNOWNPROJECT |
Quellcodeverwaltungs-Plug-In dem Projekt ist unbekannt. |
SCC_E_INVALIDFILEPATH |
Ungültiger oder unbrauchbarer Dateipfad. |
SCC_E_NOTAUTHORIZED |
Der Benutzer ist nicht zulässig, um diesen Vorgang auszuführen. |
SCC_E_ACCESSFAILURE |
Es bestand ein Problem, das das Quellcodeverwaltungssystem, wahrscheinlich aufgrund der Netzwerk- oder Konflikt bei der zugreift. Eine Wiederholung wird empfohlen. |
SCC_E_PROJSYNTAXERR |
Ungültige Syntax Projekt. |
SCC_E_CONNECTIONFAILURE |
Problem Speicher-Verbindungs. |
SCC_E_NONSPECIFICERROR SCC_E_UNKNOWNERROR |
Unspezifischer Fehler. |
Hinweise
Diese Funktion gibt einen Erfolg oder Fehler zurück, wenn der Vorgang erfolgreich war, Code und füllt die Variable lpParentProjPath mit dem vollständigen Projektpfad mit dem angegebenen Projekt aus.
Diese Funktion gibt den Projektpfad Elemente eines vorhandenen Projekts zurück. Für das Stammprojekt gibt die Funktion den Projektpfad zurück, der übergeben wurde (also derselbe Stammprojekt Pfad). Beachten Sie, dass ein Projektpfad eine Zeichenfolge ist, die nur für das Quellcodeverwaltungs-Plug-In sinnvoll ist.
Die IDE wird vorbereitet, Änderungen an den lpUser und lpAuxProjPath auch Parameter zu akzeptieren. Die IDE verfolgt diese Zeichenfolgen bei und übergibt sie an SccOpenProject-Funktion , wenn der Benutzer dieses Projekt in der Zukunft öffnet. Diese Zeichenfolgen stellen daher eine Methode für das Quellcodeverwaltungs-Plug-In auf den Titel Informationen bereit, die es einem Projekt zugeordnet werden muss.
Diese Funktion ist mit SccGetProjPath-Funktionvergleichbar, außer dass sie nicht benötigt der Benutzer ein Projekt auszuwählen. Außerdem nie ein neues Projekt erstellt, aber funktioniert nur mit einem vorhandenen Projekt.
Wenn SccGetParentProjectPath aufgerufen wird, sind lpProjPath und lpAuxProjPath nicht leer und entsprechen einem gültigen Projekt. Diese Zeichenfolgen werden normalerweise von der IDE aus einem vorherigen Aufruf der SccGetProjPath-Funktion empfangen.
Das lpUser-Argument ist der Benutzername. Die IDE übergibt den gleichen Namen, den sie zuvor aus der SccGetProjPath-Funktion empfangen hat, und das Quellcodeverwaltungs-Plug-In sollte mit dem Namen als Standard verwenden. Wenn der Benutzer bereits eine geöffnete Verbindung mit dem Plug-In verfügt, sollte das Plug-In versuchen, alle Eingabeaufforderungen zu vermeiden, um sicherzustellen, dass die Funktion automatisch ausgeführt werden kann. Wenn die Anmeldung fehlschlagen soll das Plug-In eine Anmeldung für den Benutzer auffordern, und, wenn es sich um eine gültige Anmeldung empfängt, führt die Namen wieder in lpUser. Da das Plug-In diese Zeichenfolge geändert wird, ordnet die IDE immer einen Puffer der GrößeSCC_USER_LEN(+1). Wenn die Zeichenfolge geändert wird, muss die neue Zeichenfolge ein gültiger Anmeldename mindestens so gültig sein (z. B. die alte String).
Technische Hinweise für SccCreateSubProject und SccGetParentProjectPath
Das Hinzufügen von Projektmappen und Projekten zur Quellcodeverwaltung steht in Visual Studio vereinfacht, um die Häufigkeit zu minimieren, die ein Benutzer aufgefordert wird, Speicherorte im Quellcodeverwaltungssystem auszuwählen. Diese Änderungen werden von Visual Studio aktiviert, wenn ein Quellcodeverwaltungs-Plug-In die beiden neuen Funktionen des SccCreateSubProject-Funktion und der SccGetParentProjectPath-Funktion unterstützt. Jedoch kann der folgende Registrierungseintrag verwendet werden, um diese Änderungen zu deaktivieren und zum vorherigen Verhalten von Visual Studio (Version 1.1): Wiederherstellen des Quellcodeverwaltungs-Plug-In-API
[HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 8.0 \ SourceControl] " DoNotCreateSolutionRootFolderInSourceControl „=dword: 00000001
Wenn dieser Registrierungseintrag vorhanden ist oder nicht, um in einem DWORD festgelegt ist: 00000000, Visual Studio versucht, die neuen Funktionen, SccCreateSubProjectundSccGetParentProjectPathzu verwenden.
Wenn der in einem DWORD auf den Registrierungseintrag festgelegt wird: 00000001, Visual Studio versucht nicht, diese neuen Funktionen und Vorgänge zum Hinzufügen zur Quellcodeverwaltung Arbeit zu verwenden, wie sie in früheren Versionen von Visual Studio.