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, lplpFileNames
die 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 lplpFileNames
weist den Speicher für das Dateinamenarray nach Bedarf zu (beachten Sie, dass diese Zuordnung den Zeiger lplpFileNames
ersetzt). 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
.