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
Énumérateur de code de commande