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.