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.

Vedi anche