SccGetProjPath-Funktion
Diese Funktion einen Benutzer wird zum Projektpfad ein, der eine Zeichenfolge ist, die nur für das Quellcodeverwaltungs-Plug-In sinnvoll ist. Sie wird aufgerufen, wenn der Benutzer ist:
Erstellen eines neuen Projekts
Ein vorhandenes Projekt der Versionskontrolle hinzufügen
Sie versuchen, ein vorhandenes Projekt der Versionskontrolle zu suchende
SCCRTN SccGetProjPath (
LPVOID pvContext,
HWND hWnd,
LPSTR lpUser,
LPSTR lpProjName,
LPSTR lpLocalPath,
LPSTR lpAuxProjPath,
BOOL bAllowChangePath,
LPBOOL pbNew
);
Parameter
pvContext
[in] Die Quellcodeverwaltungs-Plug-In-Kontext Struktur.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 (SCC_USER_SIZE, einschließlich des NULL-Terminators nicht überschreiten)lpProjName
[in, out] Der Name des IDE-Projekts des Projekts, arbeitsbereichs oder des Makefiles (SCC_PRJPATH_SIZE, einschließlich des NULL-Terminators nicht überschreiten).lpLocalPath
[in, out] Der funktionierende Pfad des Projekts. Wenn bAllowChangePathTRUEist, kann das Quellcodeverwaltungs-Plug-In diese Zeichenfolge ändern (_MAX_PATH, einschließlich des NULL-Terminators nicht überschreiten).lpAuxProjPath
[in, out] Ein Puffer für den zurückgegebenen Projektpfad (SCC_PRJPATH_SIZE, einschließlich des NULL-Terminators nicht überschreiten).bAllowChangePath
[in] Wenn dieses TRUEist, kann das Quellcodeverwaltungs-Plug-In fordern und die lpLocalPath Zeichenfolge ändern.pbNew
[in, out] Der Wert, der bereitgestellt, gibt an, ob ein neues Projekt erstellt. Der zurückgegebene Wert gibt den Erfolg des Erstellens eines Projekts an:Eingehend
Interpretation
TRUE
Der Benutzer ein neues Projekt erstellt werden.
FALSE
Der Benutzer kann kein neues Projekt erstellt.
Ausgehend
Interpretation
TRUE
Ein neues Projekt erstellt wurde.
FALSE
Ein vorhandenes Projekt ausgewählt wurde.
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 |
Das Projekt wurde erfolgreich erstellt oder abgerufen. |
SCC_I_OPERATIONCANCELED |
Die Operation wurde abgebrochen. |
SCC_E_ACCESSFAILURE |
Es bestand ein Problem, das das Quellcodeverwaltungssystem, wahrscheinlich aufgrund der Netzwerk- oder Konflikt bei der zugreift. |
SCC_E_CONNECTIONFAILURE |
Es bestand ein Problem, das das Quellcodeverwaltungssystem versucht, eine Verbindung herzustellen. |
SCC_E_NONSPECIFICERROR |
Ein nicht spezifizierter Fehler ist aufgetreten. |
Hinweise
Der Zweck dieser Funktion ist, damit die IDE die Parameter lpProjName und lpAuxProjPathabruft. Nachdem das Quellcodeverwaltungs-Plug-In den Benutzer zur Eingabe dieser Informationen auffordert, werden diese beiden Zeichenfolgen in der IDE. Die IDE verfolgt diese Zeichenfolgen in der Projektmappendatei und übergibt sie an SccOpenProject-Funktion , wenn der Benutzer das Projekt geöffnet wird. Diese Zeichenfolgen ermöglichen das Plug-In, um die Informationen zu verfolgen, die einem Projekt zugeordnet sind.
Wenn die Funktion zuerst aufgerufen wird, wird lpAuxProjPath auf eine leere Zeichenfolge festgelegt. lProjName kann auch leer, oder sie enthält möglicherweise den IDE-Projektnamen, den das Quellcodeverwaltungs-Plug-In möglicherweise verwendet oder ignoriert. Wenn die Funktion erfolgreich zurückgegeben wird, gibt das Plug-In die beiden entsprechenden Zeichenfolgen zurück. Die IDE stellt keine Annahmen über diese Zeichenfolgen, wird sie nicht verwenden und nicht dem Benutzer ermöglicht, dass sie zu ändern. Wenn der Benutzer die Einstellungen ändern möchte, ruft die IDE SccGetProjPath erneut auf und übergibt die gleichen Werte, die es sich um die vorherige Zeitpunkt empfangen hat. Dadurch wird das Plug-In vollständige Kontrolle über diesen beiden Zeichenfolgen.
Für lpUserübergibt die IDE möglicherweise in einen Benutzernamen oder übergibt es sich einfach in einen Zeiger auf eine leere Zeichenfolge. Wenn es sich um einen Benutzernamen gibt, sollte das Quellcodeverwaltungs-Plug-In ihn als Standard verwenden. Wenn jedoch kein Name übergeben wurde, oder wenn die Anmeldung fehlgeschlagen mit dem angegebenen Namen, sollte das Plug-In eine Anmeldung für den Benutzer auffordern, und die Namen wieder in lpUser führen, wenn es sich um eine gültige Anmeldung empfängt. Da das Plug-In diese Zeichenfolge geändert wird, ordnet die IDE immer einen Puffer der GrößeSCC_USER_LEN(+1).
Hinweis
Die erste Aktion, die die IDE ausgeführt wird, ist ein Aufruf entweder an die SccOpenProject-Funktion oder SccGetProjPath-Funktion.Daher verfügen alle beide einen identischen lpUser-Parameter, der das Quellcodeverwaltungs-Plug-In aktiviert, um den Benutzer bei jeder Zeit einzuloggen.Selbst wenn die Rückgabe von der Funktion einen Fehler angibt, muss das Plug-In diese Zeichenfolge mit einem gültigen Anmeldenamen füllen.
lpLocalPath ist das Verzeichnis, in dem der Benutzer das Projekt übergibt. Es ist möglicherweise eine leere Zeichenfolge. Wenn kein Verzeichnis vorhanden ist, das gegenwärtig definiert ist (wie im Fall eines Benutzers, der versucht, ein Projekt aus dem Quellcodeverwaltungssystem beim Herunterladen) und bAllowChangePathTRUEist, das Quellcodeverwaltungs-Plug-In den Benutzer zur Eingabe aufgefordert oder eine andere Methode verwenden kann, um eine eigene Zeichenfolge in lpLocalPathzu platzieren. Wenn bAllowChangePathFALSEist, sollte das Plug-In die Zeichenfolge nicht geändert werden, da der Benutzer bereits im angegebenen Verzeichnis arbeitet.
Wenn der Benutzer ein neues Projekt erstellt, in der Quellcodeverwaltung gestellt werden, kann das erstellte Quellcodeverwaltungs-Plug-In nicht im Quellcodeverwaltungssystem sie zum Zeitpunkt der SccGetProjPath aufgerufen wird. Stattdessen wird die Zeichenfolge zusammen mit einem Wert ungleich 0 für pbNewund gibt an, dass das Projekt im Quellcodeverwaltungssystem erstellt wird.
Wenn beispielsweise ein Benutzer im Assistenten in Visual Studio Neues Projekt sein oder über die Quellcodeverwaltung Projekt hinzugefügt wird, bestimmt Visual Studio-Aufrufe diese Funktion und das Plug-In werden, wenn ein neues Projekt im Quellcodeverwaltungssystem zu erstellen, das Visual Studio-Projekt enthalten soll. Wenn der Benutzer auf Abbrechen klickt, bevor er den Assistenten abgeschlossen wird, wird das Projekt erstellt. Wenn der Benutzer auf OKklickt, ruft Visual Studio SccOpenProjectauf und übergibt SCC_OPT_CREATEIFNEW, und die Quelle zu diesem Zeitpunkt gesteuerte Projekt wird erstellt.