QUERYCHANGESFUNC
Si tratta di una funzione di callback utilizzata dall'operazione SccQueryChanges per enumerare una raccolta di nomi di file e determinare lo stato di ogni file.
Alla SccQueryChanges
funzione viene assegnato un elenco di file e un puntatore al QUERYCHANGESFUNC
callback. Il plug-in del controllo del codice sorgente enumera l'elenco specificato e fornisce lo stato (tramite questo callback) per ogni file nell'elenco.
Firma
typedef BOOL (*QUERYCHANGESFUNC)(
LPVOID pvCallerData,
QUERYCHANGESDATA * pChangesData
);
Parametri
pvCallerData
[in] Parametro pvCallerData
passato dal chiamante (l'IDE) a SccQueryChanges. Il plug-in del controllo del codice sorgente non deve fare ipotesi sul contenuto di questo valore.
pChangesData
[in] Puntatore a una struttura della struttura QUERYCHANGESDATA che descrive le modifiche apportate a un file.
Valore restituito
L'IDE restituisce un codice di errore appropriato:
Valore | Descrizione |
---|---|
SCC_OK | Continuare l'elaborazione. |
SCC_I_OPERATIONCANCELED | Consente di arrestare l'elaborazione. |
SCC_E_xxx | Eventuali errori SCC appropriati devono interrompere l'elaborazione. |
Struttura QUERYCHANGESDATA
La struttura passata per ogni file è simile alla seguente:
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;
};
dwSize Dimensioni di questa struttura (in byte).
lpFileName Nome file originale per questo elemento.
dwChangeType Codice che indica lo stato del file:
Codice | Descrizione |
---|---|
SCC_CHANGE_UNKNOWN |
Non è possibile indicare cosa è cambiato. |
SCC_CHANGE_UNCHANGED |
Nessuna modifica del nome per questo file. |
SCC_CHANGE_DIFFERENT |
Il file con un'identità diversa, ma lo stesso nome esiste nel database. |
SCC_CHANGE_NONEXISTENT |
Il file non esiste nel database o in locale. |
SCC_CHANGE_DATABASE_DELETED |
File eliminato nel database. |
SCC_CHANGE_LOCAL_DELETED |
File eliminato in locale, ma il file esiste ancora nel database. Se non è possibile determinare questo valore, restituire SCC_CHANGE_DATABASE_ADDED . |
SCC_CHANGE_DATABASE_ADDED |
File aggiunto al database ma non esistente in locale. |
SCC_CHANGE_LOCAL_ADDED |
Il file non esiste nel database ed è un nuovo file locale. |
SCC_CHANGE_RENAMED_TO |
File rinominato o spostato nel database come lpLatestName . |
SCC_CHANGE_RENAMED_FROM |
Il file rinominato o spostato nel database da lpLatestName ; se è troppo costoso da tenere traccia, restituire un flag diverso, ad esempio SCC_CHANGE_DATABASE_ADDED . |
lpLatestName Nome file corrente per questo elemento.