Freigeben über


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 lpAuxProjPathund . 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 lpLocalPathplatzieren. 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 pbNewfü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 SccOpenProjectVisual Studio an, übergibt SCC_OPT_CREATEIFNEWund das quellgesteuerte Projekt zu diesem Zeitpunkt erstellt wird.

Siehe auch