QUERYCHANGESFUNC
這是 SccQueryChanges 作業用來列舉檔名集合並判斷每個檔案狀態的回呼函式。
函 SccQueryChanges
式會提供檔案清單和回呼的 QUERYCHANGESFUNC
指標。 原始檔控制外掛程式會列舉指定的清單,並提供清單中每個檔案的狀態(透過這個回呼)。
簽章
typedef BOOL (*QUERYCHANGESFUNC)(
LPVOID pvCallerData,
QUERYCHANGESDATA * pChangesData
);
參數
pvCallerData
[in] pvCallerData
呼叫端傳遞至 SccQueryChanges 的參數。 原始檔控制外掛程式不應假設此值的內容。
pChangesData
[in] 描述檔案變更的 QUERYCHANGESDATA 結構 結構的指標。
傳回值
IDE 會傳回適當的錯誤碼:
值 | Description |
---|---|
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 此專案的目前檔名。