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 此專案的目前檔名。

另請參閱