这是 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
指示文件的状态代码:代码
说明
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
此项目的当前文件名。