Freigeben über


SccAddFromScc-Funktion

Mit dieser Funktion kann der Benutzer nach Dateien suchen, die sich bereits im Quellcodeverwaltungssystem befinden, und diese Dateien anschließend zum Bestandteil des aktuellen Projekts machen. Diese Funktion kann z. B. eine allgemeine Headerdatei in das aktuelle Projekt abrufen, ohne die Datei zu kopieren. Das Rückgabearray von Dateien enthält die Liste der Dateien, lplpFileNamesdie der Benutzer dem IDE-Projekt hinzufügen möchte.

Syntax

SCCRTN SccAddFromScc (
   LPVOID   pvContext,
   HWND     hWnd,
   LPLONG   lpnFiles,
   LPCSTR** lplpFileNames
);

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.

lpnFiles

[in, out] Ein Puffer für die Anzahl der Dateien, die hinzugefügt werden. (Dies ist NULL , wenn der Speicher, auf den lplpFileNames verwiesen wird, freigegeben werden soll. Weitere Informationen finden Sie in den Hinweisen.)

lplpFileNames

[in, out] Ein Array von Zeigern auf alle Dateinamen ohne Verzeichnispfade. Dieses Array wird vom Quellcodeverwaltungs-Plug-In zugewiesen und freigegeben. Wenn lpnFiles = 1 und lplpFileNames nicht NULL, enthält der Vorname im Array, auf das verwiesen wird lplpFileNames , den Zielordner.

Rückgabewert

Die Plug-In-Implementierung dieser Funktion für die Quellcodeverwaltung wird voraussichtlich einen der folgenden Werte zurückgeben:

Wert Beschreibung
SCC_OK Die Dateien wurden erfolgreich gefunden und dem Projekt hinzugefügt.
SCC_I_OPERATIONCANCELED Der Vorgang wurde ohne Auswirkung abgebrochen.
SCC_I_RELOADFILE Eine Datei oder ein Projekt muss neu geladen werden.

Hinweise

Die IDE ruft diese Funktion auf. Wenn das Quellcodeverwaltungs-Plug-In das Angeben eines lokalen Zielordners unterstützt, übergibt die IDE = 1 und übergibt lpnFiles den namen des lokalen Ordners an lplpFileNames.

Wenn der Aufruf der SccAddFromScc Funktion zurückgegeben wird, hat das Plug-In Werte lpnFiles zugewiesen und lplpFileNamesweist den Speicher für das Dateinamenarray nach Bedarf zu (beachten Sie, dass diese Zuordnung den Zeiger lplpFileNamesersetzt). Das Quellcodeverwaltungs-Plug-In ist dafür verantwortlich, alle Dateien im Verzeichnis des Benutzers oder im angegebenen Bezeichnungsordner zu platzieren. Die IDE fügt dann die Dateien dem IDE-Projekt hinzu.

Schließlich ruft die IDE diese Funktion ein zweites Mal auf und übergibt NULL sie an lpnFiles. Dies wird vom Quellcodeverwaltungs-Plug-In als spezielles Signal interpretiert, um den für das Dateinamenarray zugewiesenen Speicher freizugeben. lplpFileNames``.

lplpFileNames ist ein char *** Zeiger. Das Quellcodeverwaltungs-Plug-In platziert einen Zeiger auf ein Array von Zeigern auf Dateinamen, wodurch die Liste auf die Standardmethode für diese API übergeben wird.

Hinweis

Die ersten Versionen der VSSCI-API haben keine Möglichkeit zum Angeben des Zielprojekts für die hinzugefügten Dateien bereitgestellt. Um dies zu berücksichtigen, wurde die Semantik des lplpFIleNames Parameters verbessert, um ihn zu einem In/Out-Parameter zu machen, anstatt zu einem Ausgabeparameter. Wenn nur eine einzelne Datei angegeben wird, d. h. der Wert, der auf lpnFiles = 1 verweist, dann enthält das erste Element des lplpFileNames Zielordners. Um diese neue Semantik zu verwenden, ruft die IDE die SccSetOption Funktion mit dem nOption Parameter auf SCC_OPT_SHARESUBPROJ. Wenn ein Quellcodeverwaltungs-Plug-In die Semantik nicht unterstützt, wird es zurückgegeben SCC_E_OPTNOTSUPPORTED. Dadurch wird die Verwendung des Features "Aus Quellcodeverwaltung hinzufügen" deaktiviert. Wenn ein Plug-In das FeatureSCC_CAP_ADDFROMSCC "Aus Quellcodeverwaltung hinzufügen" () unterstützt, muss es die neue Semantik unterstützen und zurückgebenSCC_I_SHARESUBPROJOK.

Siehe auch