SccGetProjPath-Funktion
Mit dieser Funktion wird der Benutzer aufgefordert, einen Projektpfad einzufordern, bei dem es sich um eine Zeichenfolge handelt, die nur für das Quellcodeverwaltungs-Plug-In aussagekräftig ist. Er wird aufgerufen, wenn der Benutzer folgendes ist:
Erstellen eines neuen Projekts
Hinzufügen eines vorhandenen Projekts zur Versionssteuerung
Suchen eines vorhandenen Versionssteuerungsprojekts
Syntax
SCCRTN SccGetProjPath (
LPVOID pvContext,
HWND hWnd,
LPSTR lpUser,
LPSTR lpProjName,
LPSTR lpLocalPath,
LPSTR lpAuxProjPath,
BOOL bAllowChangePath,
LPBOOL pbNew
);
Parameter
pvContext
[in] Die Kontextstruktur des Quellcodeverwaltungs-Plug-Ins.
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 (nicht zu überschreiten SCC_USER_SIZE, einschließlich des NULL-Terminators)
lpProjName
[in, out] Der Name des IDE-Projekts, des Projektarbeitsbereichs oder der Makefile (nicht zu überschreiten SCC_PRJPATH_SIZE, einschließlich des NULL-Abschlusszeichens).
lpLocalPath
[in, out] Der Arbeitspfad des Projekts. Ist bAllowChangePath
dies der Fall TRUE
, kann das Quellcodeverwaltungs-Plug-In diese Zeichenfolge ändern (um _MAX_PATH nicht zu überschreiten, einschließlich des Null-Terminators).
lpAuxProjPath
[in, out] Ein Puffer für den zurückgegebenen Projektpfad (nicht zu überschreiten SCC_PRJPATH_SIZE, einschließlich des NULL-Terminators).
bAllowChangePath
[in] Wenn dies der Fall ist TRUE
, kann das Quellcodeverwaltungs-Plug-In zur Eingabe und Änderung der lpLocalPath
Zeichenfolge aufgefordert und geändert werden.
PbNew
[in, out] Der in den Wert kommende Wert gibt an, ob ein neues Projekt erstellt werden soll. Der zurückgegebene Wert gibt an, dass das Erstellen eines Projekts erfolgreich war:
Eingehend | Interpretation |
---|---|
TRUE | Der Benutzer kann ein neues Projekt erstellen. |
FALSE | Der Benutzer erstellt möglicherweise kein neues Projekt. |
Ausgehend | Interpretation |
---|---|
TRUE | Es wurde ein neues Projekt erstellt. |
FALSE | Es wurde ein vorhandenes Projekt ausgewählt. |
Rückgabewert
Die Plug-In-Implementierung dieser Funktion für die Quellcodeverwaltung wird voraussichtlich einen der folgenden Werte zurückgeben:
Wert | Beschreibung |
---|---|
SCC_OK | Das Projekt wurde erfolgreich erstellt oder abgerufen. |
SCC_I_OPERATIONCANCELED | Der Vorgang wurde abgebrochen. |
SCC_E_ACCESSFAILURE | Es gab ein Problem beim Zugriff auf das Quellcodeverwaltungssystem, wahrscheinlich aufgrund von Netzwerk- oder Inhaltsproblemen. |
SCC_E_CONNECTIONFAILURE | Beim Versuch, eine Verbindung mit dem Quellcodeverwaltungssystem herzustellen, ist ein Problem aufgetreten. |
SCC_E_NONSPECIFICERROR | Es ist ein unbekannter Fehler aufgetreten. |
Hinweise
Der Zweck dieser Funktion ist es, dass die IDE die Parameter lpProjName
lpAuxProjPath
und . Nachdem das Quellcodeverwaltungs-Plug-In den Benutzer zur Eingabe dieser Informationen aufgefordert hat, werden diese beiden Zeichenfolgen zurück an die IDE übergeben. Die IDE speichert diese Zeichenfolgen in der Lösungsdatei und übergibt sie an SccOpenProject, wenn der Benutzer dieses Projekt öffnet. Mit diesen Zeichenfolgen kann das Plug-In Informationen nachverfolgen, die einem Projekt zugeordnet sind.
Wenn die Funktion zum ersten Mal aufgerufen wird, lpAuxProjPath
wird sie auf eine leere Zeichenfolge festgelegt. lProjName
kann auch leer sein oder den Namen des IDE-Projekts enthalten, den das Quellcodeverwaltungs-Plug-In verwenden oder ignorieren kann. Wenn die Funktion erfolgreich zurückgegeben wird, gibt das Plug-In die beiden entsprechenden Zeichenfolgen zurück. Die IDE nimmt keine Annahmen zu diesen Zeichenfolgen vor, verwendet sie nicht, und der Benutzer kann sie nicht ändern. Wenn der Benutzer die Einstellungen ändern möchte, ruft die IDE erneut auf SccGetProjPath
, wobei dieselben Werte übergeben werden, die er zuvor erhalten hatte. Dadurch erhält das Plug-In vollständige Kontrolle über diese beiden Zeichenfolgen.
For lpUser
, the IDE may pass in a user name, or it may pass in a pointer to an empty string. Wenn ein Benutzername vorhanden ist, sollte das Quellcodeverwaltungs-Plug-In es als Standard verwenden. Wenn jedoch kein Name übergeben wurde oder die Anmeldung mit dem angegebenen Namen fehlgeschlagen ist, sollte das Plug-In den Benutzer zur Eingabe einer Anmeldung auffordern und den Namen wieder lpUser
übergeben, wenn er eine gültige Anmeldung empfängt. Da das Plug-In diese Zeichenfolge ändern kann, weist die IDE immer einen Puffer der Größe zu (SCC_USER_LEN
+1).
Hinweis
Die erste Aktion, die die IDE ausführt, kann ein Aufruf der SccOpenProject
Funktion oder der SccGetProjPath
Funktion sein. Daher haben beide einen identischen lpUser
Parameter, mit dem das Quellcodeverwaltungs-Plug-In den Benutzer zu beiden Zeitpunkten anmelden kann. Selbst wenn die Rückgabe der Funktion einen Fehler angibt, muss das Plug-In diese Zeichenfolge mit einem gültigen Anmeldenamen ausfüllen.
lpLocalPath
ist das Verzeichnis, in dem der Benutzer das Projekt behält. Möglicherweise handelt es sich um eine leere Zeichenfolge. Wenn derzeit kein Verzeichnis definiert ist (wie im Fall eines Benutzers, der versucht, ein Projekt aus dem Quellcodeverwaltungssystem herunterzuladen), und wenn bAllowChangePath
ja TRUE
, kann das Quellcodeverwaltungs-Plug-In den Benutzer zur Eingabe auffordern oder eine andere Methode verwenden, um seine eigene Zeichenfolge zu lpLocalPath
platzieren. Wenn bAllowChangePath
ja FALSE
, sollte das Plug-In die Zeichenfolge nicht ändern, da der Benutzer bereits im angegebenen Verzeichnis arbeitet.
Wenn der Benutzer ein neues Projekt erstellt, das unter quellcodeverwaltung gestellt werden soll, erstellt das Quellcodeverwaltungs-Plug-In es möglicherweise nicht zum Zeitpunkt SccGetProjPath
des Aufrufs im Quellcodeverwaltungssystem. Stattdessen übergibt sie die Zeichenfolge zusammen mit einem Wert ungleich Null pbNew
für , der angibt, dass das Projekt im Quellcodeverwaltungssystem erstellt wird.
Wenn beispielsweise ein Benutzer im Assistenten "Neues Projekt " in Visual Studio sein Projekt zur Quellcodeverwaltung hinzufügt, ruft Visual Studio diese Funktion auf, und das Plug-In bestimmt, ob es in Ordnung ist, ein neues Projekt im Quellcodeverwaltungssystem zu erstellen, um das Visual Studio-Projekt zu enthalten. Wenn der Benutzer vor Abschluss des Assistenten auf "Abbrechen" klickt, wird das Projekt nie erstellt. Wenn der Benutzer auf "OK" klickt, ruft SccOpenProject
Visual Studio an, übergibt SCC_OPT_CREATEIFNEW
und das quellgesteuerte Projekt zu diesem Zeitpunkt erstellt wird.