QUERYCHANGESFUNC

Se trata de una función de devolución de llamada que usa la operación SccQueryChanges para enumerar una colección de nombres de archivo y determinar el estado de cada archivo.

La SccQueryChanges función recibe una lista de archivos y un puntero a la QUERYCHANGESFUNC devolución de llamada. El complemento de control de código fuente enumera la lista especificada y proporciona el estado (a través de esta devolución de llamada) para cada archivo de la lista.

Signature

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

Parámetros

pvCallerData

[in] Parámetro pvCallerData pasado por el autor de la llamada (el IDE) a SccQueryChanges. El complemento de control de código fuente no debe hacer suposiciones sobre el contenido de este valor.

pChangesData

[in] Puntero a una estructura QUERYCHANGESDATA que describe los cambios en un archivo.

Valor devuelto

El IDE devuelve un código de error adecuado:

Value Descripción
SCC_OK Continúe el procesamiento.
SCC_I_OPERATIONCANCELED Detiene el procesamiento.
SCC_E_xxx Cualquier error de SCC adecuado debe detener el procesamiento.

QUERYCHANGESDATA (estructura)

La estructura pasada para cada archivo es similar a la siguiente:

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 Size de esta estructura (en bytes).

lpFileName Es el nombre de archivo original de este elemento.

dwChangeType Code que indica el estado del archivo:

Código Descripción
SCC_CHANGE_UNKNOWN No se puede saber qué ha cambiado.
SCC_CHANGE_UNCHANGED No hay cambios de nombre para este archivo.
SCC_CHANGE_DIFFERENT El archivo con una identidad diferente, pero el mismo nombre existe en la base de datos.
SCC_CHANGE_NONEXISTENT El archivo no existe en la base de datos o localmente.
SCC_CHANGE_DATABASE_DELETED Archivo eliminado en la base de datos.
SCC_CHANGE_LOCAL_DELETED El archivo se eliminó localmente, pero el archivo todavía existe en la base de datos. Si no se puede determinar, devuelva SCC_CHANGE_DATABASE_ADDED.
SCC_CHANGE_DATABASE_ADDED Archivo agregado a la base de datos, pero no existe localmente.
SCC_CHANGE_LOCAL_ADDED El archivo no existe en la base de datos y es un nuevo archivo local.
SCC_CHANGE_RENAMED_TO El archivo ha cambiado el nombre o se ha movido en la base de datos como lpLatestName.
SCC_CHANGE_RENAMED_FROM Se ha cambiado el nombre del archivo o se ha movido en la base de datos de lpLatestName; si esto es demasiado caro para realizar el seguimiento, devuelva una marca diferente, como SCC_CHANGE_DATABASE_ADDED.

lpLatestName Es el nombre de archivo actual de este elemento.

Consulte también