Funzione SccPopulateList
Questa funzione aggiorna un elenco di file per un particolare comando di controllo del codice sorgente e fornisce lo stato del controllo del codice sorgente in tutti i file specificati.
Sintassi
SCCRTN SccPopulateList (
LPVOID pvContext,
enum SCCCOMMAND nCommand,
LONG nFiles,
LPCSTR* lpFileNames,
POPLISTFUNC pfnPopulate,
LPVOID pvCallerData,
LPLONG lpStatus,
LONG fOptions
);
Parametri
pvContext
[in] Struttura del contesto del plug-in del controllo del codice sorgente.
nCommand
[in] Comando del controllo del codice sorgente che verrà applicato a tutti i file nella lpFileNames
matrice (vedere Codice comando per un elenco dei comandi possibili).
nFiles
[in] Numero di file nella lpFileNames
matrice.
lpFileNames
[in] Matrice di nomi di file noti all'IDE.
pfnPopulate
[in] Funzione di callback dell'IDE da chiamare per aggiungere e rimuovere file (vedere POPLISTFUNC per informazioni dettagliate).
pvCallerData
[in] Valore da passare invariato alla funzione di callback.
lpStatus
[in, out] Matrice per il plug-in del controllo del codice sorgente per restituire i flag di stato per ogni file.
fOptions
[in] Flag di comando (vedere la sezione "PopeList flag" di Bitflags used by Specific Commands per informazioni dettagliate).
Valore restituito
L'implementazione del plug-in del controllo del codice sorgente di questa funzione dovrebbe restituire uno dei valori seguenti:
Valore | Descrizione |
---|---|
SCC_OK | Esito positivo. |
SCC_E_NONSPECIFICERROR | Errore non specifico. |
Osservazioni:
Questa funzione esamina l'elenco dei file per il relativo stato corrente. Usa la pfnPopulate
funzione di callback per notificare al chiamante quando un file non corrisponde ai criteri per .nCommand
Ad esempio, se il comando è SCC_COMMAND_CHECKIN
e un file nell'elenco non viene estratto, il callback viene usato per informare il chiamante. In alcuni casi, il plug-in del controllo del codice sorgente può trovare altri file che potrebbero far parte del comando e aggiungerli. In questo modo, ad esempio, un utente di Visual Basic può estrazione di un file con estensione bmp utilizzato dal progetto, ma non viene visualizzato nel file di progetto visual Basic. Un utente sceglie il comando Get nell'IDE. L'IDE visualizzerà un elenco di tutti i file che ritiene che l'utente possa ottenere, ma prima che venga visualizzato l'elenco, viene chiamata la SccPopulateList
funzione per assicurarsi che l'elenco da visualizzare sia aggiornato.
Esempio
L'IDE compila un elenco di file che ritiene che l'utente possa ottenere. Prima di visualizzare questo elenco, chiama la SccPopulateList
funzione, dando al plug-in del controllo del codice sorgente la possibilità di aggiungere ed eliminare file dall'elenco. Il plug-in modifica l'elenco chiamando la funzione di callback specificata (vedere POPLISTFUNC per altri dettagli).
Il plug-in continua a chiamare la pfnPopulate
funzione , che aggiunge ed elimina i file, fino al termine e quindi restituisce dalla SccPopulateList
funzione . L'IDE può quindi visualizzarne l'elenco. La lpStatus
matrice rappresenta tutti i file nell'elenco originale passato dall'IDE. Il plug-in compila lo stato di tutti questi file oltre a usare la funzione di callback.
Nota
Un plug-in del controllo del codice sorgente ha sempre la possibilità di restituire immediatamente da questa funzione, lasciando l'elenco così come è. Se un plug-in implementa questa funzione, può indicare questa impostazione impostando il SCC_CAP_POPULATELIST
bitflag di funzionalità nella prima chiamata a SccInitialize. Per impostazione predefinita, il plug-in deve sempre presupporre che tutti gli elementi passati siano file. Tuttavia, se l'IDE imposta il SCC_PL_DIR
flag nel fOptions
parametro , tutti gli elementi passati devono essere considerati directory. Il plug-in deve aggiungere tutti i file appartenenti alle directory. L'IDE non passerà mai una combinazione di file e directory.