Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.