共用方式為


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
    指出檔案狀態的程式碼:

    程式碼

    描述

    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
    這個項目目前的檔案名稱。

請參閱

參考

SccQueryChanges 函式

概念

錯誤碼

其他資源

IDE 實作的回呼函式