Partager via


SccPopulateList, fonction

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

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

Paramètres

  • pvContext
    [in] La structure du plug-in du contexte de contrôle de code source.

  • nCommand
    [in] La commande du contrôle de code source qui s'appliquera à tous les fichiers dans le tableau d' lpFileNames (consultez Énumérateur de code de commande pour obtenir la liste de commandes possibles).

  • nFiles
    [in] Nombre de fichiers dans le tableau d' lpFileNames .

  • lpFileNames
    [in] Un tableau de noms de fichiers connus à l'IDE.

  • pfnPopulate
    [in] La fonction de rappel de l'IDE à appeler pour ajouter et supprimer des fichiers (consultez POPLISTFUNC pour plus d'informations).

  • pvCallerData
    [in] Valeur qui doit être passé sans modification apportée à la fonction de rappel.

  • lpStatus
    [in, out] Un tableau pour le plug-in contrôle de code source retourne les balises d'état de chaque fichier.

  • fOptions
    [in] Indicateurs de commande (consultez la section « balise de PopulateList » de Bits indicateurs utilisés par des commandes spécifiques pour plus d'informations).

Valeur de retour

Il est recommandé que l'implémentation du plug-in du contrôle de code source de cette fonction retourne une des valeurs suivantes :

Valeur

Description

SCC_OK

Succès.

SCC_E_NONSPECIFICERROR

échec non spécifique.

Notes

cette fonction examine la liste des fichiers pour son état actuel. Il utilise la fonction de rappel d' pfnPopulate pour notifier l'appelant quand un fichier ne correspond pas aux critères pour nCommand. Par exemple, si la commande est SCC_COMMAND_CHECKIN et un fichier dans la liste n'est pas extrait, le rappel est utilisé pour informer l'appelant. Parfois, le plug-in contrôle de code source peut trouver d'autres fichiers qui peuvent faire partie de la commande et les ajouter. Cela permet, par exemple, un utilisateur Visual Basic au contrôle qu'un fichier .bmp utilisé par son projet mais ne s'affiche pas dans le fichier projet Visual Basic. Un utilisateur sélectionne la commande d' Obtenir dans l'IDE. L'IDE affiche une liste de tous les fichiers qu'il lui l'utilisateur peut obtenir, mais avant que la liste s'affiche, la fonction d' SccPopulateList est appelée pour vérifier que la liste à afficher est à jour.

Exemple

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

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

Notes

Un plug-in contrôle de code source a toujours la possibilité de retourner simplement immédiatement de cette fonction, en conservant de la liste tel quel.Si un plug-in implémente cette fonction, il peut indiquer en définissant le bitflag de fonction d' SCC_CAP_POPULATELIST dans le premier appel à SccInitialize, fonction.Par défaut, le plug-in doit toujours être que tous les éléments passés dans sont des fichiers.Toutefois, si l'IDE définit la balise d' SCC_PL_DIR dans le paramètre d' fOptions , tous les éléments passés dans doivent être considérés comme des répertoires.Le plug-in doit ajouter tous les fichiers qui appartiennent dans les répertoires.L'IDE ne réussira jamais dans un mélange des fichiers et des répertoires.

Voir aussi

Référence

SccInitialize, fonction

POPLISTFUNC

Énumérateur de code de commande

Concepts

Fonctions API des plug-ins de contrôle de code source

Bits indicateurs utilisés par des commandes spécifiques