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.