Fonction SccPopulateList

Cette fonction met à jour une liste de fichiers pour une commande de contrôle de code source particulière et fournit l’état du contrôle de code source sur tous les fichiers donnés.

Syntaxe

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

Paramètres

pvContext

[in] Structure de contexte du plug-in de contrôle de code source.

nCommand

[in] Commande de contrôle de code source qui sera appliquée à tous les fichiers du lpFileNames tableau (voir Code de commande pour obtenir la liste des commandes possibles).

nFiles

[in] Nombre de fichiers dans le lpFileNames tableau.

lpFileNames

[in] Tableau de noms de fichiers connus de l’IDE.

pfnPopulate

[in] Fonction de rappel IDE à appeler pour ajouter et supprimer des fichiers (voir POPLISTFUNC pour plus d’informations).

pvCallerData

[in] Valeur à passer inchangée à la fonction de rappel.

lpStatus

[in, out] Tableau du plug-in de contrôle de code source pour retourner les indicateurs d’état pour chaque fichier.

fOptions

[in] Indicateurs de commande (consultez la section « PopulateList flag » de Bitflags Used by Specific Commands pour plus d’informations).

Valeur de retour

L’implémentation du plug-in de contrôle de code source de cette fonction est censée retourner l’une des valeurs suivantes :

Valeur Description
SCC_OK Opération réussie.
SCC_E_NONSPECIFICERROR Échec non spécifique.

Notes

Cette fonction examine la liste des fichiers pour son état actuel. Il utilise la pfnPopulate fonction de rappel pour notifier l’appelant lorsqu’un fichier ne correspond pas aux critères du nCommand. Par exemple, si la commande est SCC_COMMAND_CHECKIN et qu’un fichier de la liste n’est pas case activée dépassé, le rappel est utilisé pour informer l’appelant. Parfois, le plug-in de contrôle de code source peut trouver d’autres fichiers qui pourraient faire partie de la commande et les ajouter. Cela permet, par exemple, à un utilisateur Visual Basic de case activée un fichier .bmp utilisé par son projet, mais n’apparaît pas dans le fichier projet Visual Basic. Un utilisateur choisit la commande Get dans l’IDE. L’IDE affiche une liste de tous les fichiers qu’il pense que l’utilisateur peut obtenir, mais avant l’affichage de la liste, la SccPopulateList fonction est appelée pour s’assurer que la liste à afficher est à jour.

Exemple

L’IDE génère une liste de fichiers qu’il pense que l’utilisateur peut obtenir. Avant d’afficher cette liste, elle appelle la SccPopulateList fonction, ce qui permet au plug-in de contrôle de code source d’ajouter et de supprimer des fichiers de la liste. Le plug-in modifie la liste en appelant la fonction de rappel donnée (voir POPLISTFUNC pour plus d’informations).

Le plug-in continue d’appeler la pfnPopulate fonction, qui ajoute et supprime des fichiers, jusqu’à ce qu’elle soit terminée, puis retourne de la SccPopulateList fonction. L’IDE peut ensuite afficher sa liste. Le lpStatus tableau représente tous les fichiers de la liste d’origine passée par l’IDE. Le plug-in remplit l’état de tous ces fichiers en plus d’utiliser la fonction de rappel.

Remarque

Un plug-in de contrôle de code source a toujours la possibilité de simplement retourner immédiatement à partir de cette fonction, en laissant la liste telle qu’elle est. Si un plug-in implémente cette fonction, il peut l’indiquer en définissant le SCC_CAP_POPULATELIST bitflag de fonctionnalité dans le premier appel à SccInitialize. Par défaut, le plug-in doit toujours supposer que tous les éléments transmis sont des fichiers. Toutefois, si l’IDE définit l’indicateur SCC_PL_DIR dans le fOptions paramètre, tous les éléments transmis doivent être considérés comme des répertoires. Le plug-in doit ajouter tous les fichiers qui appartiennent aux répertoires. L’IDE ne passera jamais dans un mélange de fichiers et de répertoires.

Voir aussi