Partager via


QUERYCHANGESFUNC

Il s’agit d’une fonction de rappel utilisée par l’opération SccQueryChanges pour énumérer une collection de noms de fichiers et déterminer l’état de chaque fichier.

La SccQueryChanges fonction reçoit une liste de fichiers et un pointeur vers le QUERYCHANGESFUNC rappel. Le plug-in de contrôle de code source énumère la liste donnée et fournit l’état (via ce rappel) pour chaque fichier de la liste.

Signature

typedef BOOL (*QUERYCHANGESFUNC)(
   LPVOID pvCallerData,
   QUERYCHANGESDATA * pChangesData
);

Paramètres

pvCallerData

[in] Paramètre pvCallerData transmis par l’appelant (l’IDE) à SccQueryChanges. Le plug-in de contrôle de code source ne doit pas faire d’hypothèses sur le contenu de cette valeur.

pChangesData

[in] Pointeur vers une structure de structure QUERYCHANGESDATA décrivant les modifications apportées à un fichier.

Valeur retournée

L’IDE retourne un code d’erreur approprié :

Valeur Description
SCC_OK Continuer le traitement.
SCC_I_OPERATIONCANCELED Arrêter le traitement.
SCC_E_xxx Toute erreur SCC appropriée doit arrêter le traitement.

QUERYCHANGESDATA, structure

La structure passée pour chaque fichier ressemble à ce qui suit :

struct QUERYCHANGESDATA_A
{
    DWORD  dwSize;
    LPCSTR lpFileName;
    DWORD  dwChangeType;
    LPCSTR lpLatestName;
};

typedef struct QUERYCHANGESDATA_A QUERYCHANGESDATA;

struct QUERYCHANGESDATA_W
{
    DWORD   dwSize;
    LPCWSTR lpFileName;
    DWORD   dwChangeType;
    LPCWSTR lpLatestName;
};

taille dwSize de cette structure (en octets).

lpFileName Le nom de fichier d’origine de cet élément.

dwChangeType Code indiquant l’état du fichier :

Code Description
SCC_CHANGE_UNKNOWN Impossible de dire ce qui a changé.
SCC_CHANGE_UNCHANGED Aucune modification de nom pour ce fichier.
SCC_CHANGE_DIFFERENT Fichier avec une identité différente, mais le même nom existe dans la base de données.
SCC_CHANGE_NONEXISTENT Le fichier n’existe pas dans la base de données ou localement.
SCC_CHANGE_DATABASE_DELETED Fichier supprimé dans la base de données.
SCC_CHANGE_LOCAL_DELETED Fichier supprimé localement, mais le fichier existe toujours dans la base de données. Si cela ne peut pas être déterminé, retournez SCC_CHANGE_DATABASE_ADDED.
SCC_CHANGE_DATABASE_ADDED Fichier ajouté à la base de données, mais n’existe pas localement.
SCC_CHANGE_LOCAL_ADDED Le fichier n’existe pas dans la base de données et est un nouveau fichier local.
SCC_CHANGE_RENAMED_TO Fichier renommé ou déplacé dans la base de données en tant que lpLatestName.
SCC_CHANGE_RENAMED_FROM Fichier renommé ou déplacé dans la base de données à partir de lpLatestName; s’il est trop coûteux de suivre, retournez un autre indicateur, tel que SCC_CHANGE_DATABASE_ADDED.

lpLatestName Le nom de fichier actuel de cet élément.

Voir aussi