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 此项的当前文件名。