QUERYCHANGESFUNC

这是 SccQueryChanges 操作用来枚举文件名集合并确定每个文件的状态的回调函数。

SccQueryChanges 函数提供文件列表和指向回调的 QUERYCHANGESFUNC 指针。 源代码管理插件枚举给定列表,并为列表中的每个文件提供状态(通过此回调)。

Signature

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

参数

pvCallerData

[in] pvCallerData 调用方(IDE)传递给 SccQueryChanges 的参数。 源代码管理插件不应假设此值的内容。

pChangesData

[in]指向 描述对文件的更改的 QUERYCHANGESDATA 结构 结构的指针。

返回值

IDE 返回适当的错误代码:

说明
SCC_OK 继续处理。
SCC_I_OPERATIONCANCELED 停止处理。
SCC_E_xxx 任何适当的 SCC 错误都应停止处理。

QUERYCHANGESDATA 结构

为每个文件传入的结构如下所示:

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 大小(以字节为单位)。

lpFileName 此项目的原始文件名。

dwChangeType Code,指示文件的状态:

代码 说明
SCC_CHANGE_UNKNOWN 无法判断更改的内容。
SCC_CHANGE_UNCHANGED 此文件的名称不会更改。
SCC_CHANGE_DIFFERENT 具有不同标识但数据库中存在同名的文件。
SCC_CHANGE_NONEXISTENT 数据库中或本地不存在文件。
SCC_CHANGE_DATABASE_DELETED 在数据库中删除的文件。
SCC_CHANGE_LOCAL_DELETED 文件在本地删除,但该文件仍存在于数据库中。 如果无法确定,则返回 SCC_CHANGE_DATABASE_ADDED
SCC_CHANGE_DATABASE_ADDED 已添加到数据库但本地不存在的文件。
SCC_CHANGE_LOCAL_ADDED 数据库中不存在文件,是一个新的本地文件。
SCC_CHANGE_RENAMED_TO 在数据库中重命名或移动的文件为 lpLatestName.
SCC_CHANGE_RENAMED_FROM 在数据库中 lpLatestName重命名或移动的文件;如果这太昂贵,无法跟踪,则返回其他标志,例如 SCC_CHANGE_DATABASE_ADDED

lpLatestName 此项的当前文件名。

另请参阅