QUERYCHANGESFUNC
Essa é uma função de retorno de chamada usada pelo Função SccQueryChanges operação para enumerar uma coleção de nomes de arquivo e determinar o status de cada arquivo.
O SccQueryChanges função é fornecida uma lista de arquivos e um ponteiro para o QUERYCHANGESFUNC retorno de chamada. O plug-in de controle de origem enumere a lista fornecida e fornece o status (por meio do retorno de chamada) para cada arquivo na lista.
Assinatura
typedef BOOL (*QUERYCHANGESFUNC)(
LPVOID pvCallerData,
QUERYCHANGESDATA * pChangesData
);
Parâmetros
pvCallerData
[in] O pvCallerData parâmetro passado pelo chamador (IDE) para Função SccQueryChanges. O plug-in de controle de origem deve fazer suposições sobre o conteúdo desse valor.pChangesData
[in] Ponteiro para uma QUERYCHANGESDATA estrutura descrevendo as alterações em um arquivo.
Valor de retorno
O IDE retorna um código de erro apropriado:
Valor |
Descrição |
---|---|
SCC_OK |
Continue o processamento. |
SCC_I_OPERATIONCANCELED |
Pare o processamento. |
SCC_E_xxx |
Qualquer erro de SCC apropriado deve parar o processamento. |
Estrutura QUERYCHANGESDATA
A estrutura passada para cada arquivo é semelhante ao seguinte:
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
Tamanho dessa estrutura (em bytes).lpFileName
O nome do arquivo original para este item.dwChangeType
Código que indica o status do arquivo:Código
Descrição
SCC_CHANGE_UNKNOWN
Não é possível dizer o que mudou.
SCC_CHANGE_UNCHANGED
Não há alterações de nome para este arquivo.
SCC_CHANGE_DIFFERENT
Arquivo com uma identidade diferente, mas o mesmo nome existe no banco de dados.
SCC_CHANGE_NONEXISTENT
Arquivo não existe no banco de dados ou localmente.
SCC_CHANGE_DATABASE_DELETED
Arquivo excluído no banco de dados.
SCC_CHANGE_LOCAL_DELETED
Arquivo excluído localmente, mas o arquivo ainda existe no banco de dados. Se isso não pode ser determinado, retornar SCC_CHANGE_DATABASE_ADDED.
SCC_CHANGE_DATABASE_ADDED
Arquivo adicionado ao banco de dados, mas não existe localmente.
SCC_CHANGE_LOCAL_ADDED
Arquivo não existe no banco de dados e é um novo arquivo local.
SCC_CHANGE_RENAMED_TO
Arquivo renomeado ou movido no banco de dados lpLatestName.
SCC_CHANGE_RENAMED_FROM
Arquivo renomeado ou movido no banco de dados de lpLatestName; Se este for muito caro controlar, retornar um sinalizador diferente, como SCC_CHANGE_DATABASE_ADDED.
lpLatestName
O nome do arquivo atual para este item.