Freigeben über


SccCreateSubProject-Funktion

Diese Funktion erstellt ein Unterprojekt mit dem angegebenen Namen unter einem vorhandenen Elementen Projekt, das vom lpParentProjPath-Argument angegeben wird.

SCCRTN SccCreateSubProject(
   LPVOID pContext,
   HWND   hWnd,
   LPSTR  lpUser,
   LPCSTR lpParentProjPath,
   LPCSTR lpSubProjName,
   LPSTR  lpAuxProjPath,
   LPSTR  lpSubProjPath
);

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).

  • lpParentProjPath
    [in] Eine Zeichenfolge, die den Pfad des übergeordneten Projekts angibt SCC_PRJPATH_SIZE bis (einschließlich NULL-Abschlusszeichen).

  • lpSubProjName
    [in] Der vorgeschlagene Name (bis zu SCC_PRJPATH_SIZE Unterprojekt, einschließlich NULL-Abschlusszeichen).

  • lpAuxProjPath
    [in, out] Zusätzliche Zeichenfolge, die das Projekt identifiziert (bis zu SCC_PRJPATH_SIZE, einschließlich des NULL-Terminators).

  • lpSubProjPath
    [in, out] Geben Sie die Zeichenfolge aus, die den Pfad für das Unterprojekt 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

Unterprojekt wurde erfolgreich erstellt.

SCC_E_INITIALIZEFAILED

übergeordnetes Projekt konnte nicht initialisiert werden.

SCC_E_INVALIDUSER

Der Benutzer kann nicht an das Quellcodeverwaltungssystem anmelden.

SCC_E_COULDNOTCREATEPROJECT

Unterprojekt kann nicht erstellt werden.

SCC_E_PROJSYNTAXERR

Ungültige Syntax Projekt.

SCC_E_UNKNOWNPROJECT

Das übergeordnete Projekt ist das Quellcodeverwaltungs-Plug-In 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_CONNECTIONFAILURE

Es bestand ein Problem Quellcodeverwaltungs-Plug-In-Verbindungs.

SCC_E_NONSPECIFICERROR

SCC_E_UNKNOWNERROR

Unspezifischer Fehler.

Hinweise

Wenn ein Unterprojekt mit dem Namen bereits vorhanden ist, kann die Funktion den Standardnamen so ändern, dass ein eindeutiges zu erstellen, z. B. indem Sie „_ <number> “ ihr addiert. Der Aufrufer muss darauf vorbereitet sein, Änderungen an lpUser, an lpSubProjPathund lpAuxProjPathzu übernehmen. Die lpSubProjPath undlpAuxProjPath-Argumente werden dann in einem Aufruf von SccOpenProject-Funktionverwendet. Sie sollten nach Rückgabe vom Aufrufer nicht geändert werden. Diese Zeichenfolgen stellen eine Methode für das Quellcodeverwaltungs-Plug-In auf den Titel Informationen bereit, die es einem Projekt zugeordnet werden muss. Der Aufrufer IDE zeigt diese beiden Parameter nicht nach Rückgabe an, da das Plug-In eine formatierte Zeichenfolge verwenden kann, die möglicherweise nicht zum Anzeigen geeignet sein könnte. Die Funktion gibt einen Erfolg oder Fehler zurück, wenn der Vorgang erfolgreich war, Code und füllt die Variable lpSubProjPath mit dem vollständigen Projektpfad mit dem neuen Projekt aus.

Diese Funktion ist vergleichbar, außer dass SccGetProjPath-Funktionerstellt automatisch ein Projekt anstatt den Benutzer ein, auffordernd auszuwählen. Wenn die SccCreateSubProject-Funktion aufgerufen wird, sind lpParentProjName und lpAuxProjPath nicht leer und entsprechen einem gültigen Projekt. Diese Zeichenfolgen werden normalerweise von der IDE aus einem vorherigen Aufruf der SccGetProjPath-Funktion oder SccGetParentProjectPath-Funktionempfangen.

Das lpUser-Argument ist der Benutzername. Die IDE übergibt den gleichen Namen, den sie hatte zuvor von SccGetProjPathempfangen, 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öße (SCC_USER_LEN+1 oder SCC_USER_SIZE, die Leerzeichen nach dem NULL-Abschlusszeichen) eingeschlossen werden. 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 und des SccGetParentProjectPathunterstü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, SccCreateSubProject und SccGetParentProjectPathzu 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.

Siehe auch

Referenz

SccGetParentProjectPath-Funktion

SccGetProjPath-Funktion

Konzepte

API-Funktionen für das Quellcodeverwaltungs-Plug-In