SccPopulateList-Funktion

Diese Funktion aktualisiert eine Liste der Dateien für einen bestimmten Quellcodeverwaltungsbefehl und stellt den Status der Quellcodeverwaltung für alle angegebenen Dateien zur Verfügung.

Syntax

SCCRTN SccPopulateList (
   LPVOID          pvContext,
   enum SCCCOMMAND nCommand,
   LONG            nFiles,
   LPCSTR*         lpFileNames,
   POPLISTFUNC     pfnPopulate,
   LPVOID          pvCallerData,
   LPLONG          lpStatus,
   LONG            fOptions
);

Parameter

pvContext

[in] Die Kontextstruktur des Quellcodeverwaltungs-Plug-Ins.

nCommand

[in] Der Befehl für die Quellcodeverwaltung, der auf alle Dateien im lpFileNames Array angewendet wird (siehe Befehlscode für eine Liste möglicher Befehle).

nFiles

[in] Anzahl der Dateien im lpFileNames Array.

lpFileNames

[in] Ein Array von Dateinamen, die der IDE bekannt sind.

pfnPopulate

[in] Die IDE-Rückruffunktion zum Hinzufügen und Entfernen von Dateien (details finden Sie unter POPLISTFUNC ).

pvCallerData

[in] Wert, der unverändert an die Rückruffunktion übergeben werden soll.

lpStatus

[in, out] Ein Array für das Quellcodeverwaltungs-Plug-In, um die Statuskennzeichnungen für jede Datei zurückzugeben.

Foptions

[in] Befehlskennzeichnungen (details hierzu finden Sie im Abschnitt "PopulateList flag" von Bitflags Used by Specific Commands ).

Rückgabewert

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

Wert Beschreibung
SCC_OK Erfolg.
SCC_E_NONSPECIFICERROR Nicht spezifischer Fehler.

Hinweise

Diese Funktion untersucht die Liste der Dateien für den aktuellen Status. Sie verwendet die pfnPopulate Rückruffunktion, um den Aufrufer zu benachrichtigen, wenn eine Datei nicht den Kriterien für die nCommandDatei entspricht. Wenn beispielsweise der Befehl und SCC_COMMAND_CHECKIN eine Datei in der Liste nicht ausgecheckt ist, wird der Rückruf verwendet, um den Aufrufer zu informieren. Gelegentlich findet das Quellcodeverwaltungs-Plug-In möglicherweise andere Dateien, die Teil des Befehls sein könnten, und fügen sie hinzu. Auf diese Weise kann ein Visual Basic-Benutzer beispielsweise eine BMP-Datei auschecken, die von seinem Projekt verwendet wird, aber nicht in der Visual Basic-Projektdatei angezeigt wird. Ein Benutzer wählt den Befehl "Abrufen " in der IDE aus. Die IDE zeigt eine Liste aller Dateien an, die der Benutzer abrufen kann, aber bevor die Liste angezeigt wird, wird die SccPopulateList Funktion aufgerufen, um sicherzustellen, dass die anzuzeigende Liste auf dem neuesten Stand ist.

Beispiel

Die IDE erstellt eine Liste von Dateien, die der Benutzer abrufen kann. Bevor sie diese Liste anzeigt, ruft sie die SccPopulateList Funktion auf, wodurch das Quellcodeverwaltungs-Plug-In die Möglichkeit erhält, Dateien aus der Liste hinzuzufügen und zu löschen. Das Plug-In ändert die Liste durch Aufrufen der angegebenen Rückruffunktion (weitere Details finden Sie unter POPLISTFUNC ).

Das Plug-In ruft weiterhin die pfnPopulate Funktion auf, die Dateien hinzufügt und löscht, bis sie abgeschlossen ist und dann von der SccPopulateList Funktion zurückgegeben wird. Die IDE kann dann deren Liste anzeigen. Das lpStatus Array stellt alle Dateien in der ursprünglichen Liste dar, die von der IDE übergeben werden. Das Plug-In füllt den Status aller diese Dateien zusätzlich zur Verwendung der Rückruffunktion aus.

Hinweis

Ein Quellcodeverwaltungs-Plug-In hat immer die Möglichkeit, einfach sofort von dieser Funktion zurückzugeben, sodass die Liste wie gewünscht bleibt. Wenn ein Plug-In diese Funktion implementiert, kann dies angegeben werden, indem der Bitflag der SCC_CAP_POPULATELIST Funktion im ersten Aufruf der SccInitialize festgelegt wird. Standardmäßig sollte das Plug-In immer davon ausgehen, dass alle übergebenen Elemente Dateien sind. Wenn die IDE jedoch das SCC_PL_DIR Flag im fOptions Parameter festlegt, werden alle übergebenen Elemente als Verzeichnisse betrachtet. Das Plug-In sollte alle Dateien hinzufügen, die in die Verzeichnisse gehören. Die IDE übergibt niemals eine Mischung aus Dateien und Verzeichnissen.

Siehe auch