Aracılığıyla paylaş


QUERYCHANGESFUNC

Bu, bir dosya adları koleksiyonunu listelemek ve her dosyanın durumunu belirlemek için SccQueryChanges işlemi tarafından kullanılan bir geri çağırma işlevidir.

İşleve SccQueryChanges bir dosya listesi ve geri çağırma işaretçisi QUERYCHANGESFUNC verilir. Kaynak denetimi eklentisi verilen liste üzerinde numaralandırır ve listedeki her dosya için durum (bu geri arama yoluyla) sağlar.

İmza

typedef BOOL (*QUERYCHANGESFUNC)(
   LPVOID pvCallerData,
   QUERYCHANGESDATA * pChangesData
);

Parametreler

pvCallerData

[in] Çağıran pvCallerData (IDE) tarafından SccQueryChanges'e geçirilen parametre. Kaynak denetimi eklentisi bu değerin içeriği hakkında hiçbir varsayımda bulunmamalıdır.

pChangesData

[in] Bir dosyadaki değişiklikleri açıklayan QUERYCHANGESDATA Yapısı yapısına yönelik işaretçi.

Dönüş değeri

IDE uygun bir hata kodu döndürür:

Value Açıklama
SCC_OK İşlemeye devam edin.
SCC_I_OPERATIONCANCELED İşlemeyi durdurun.
SCC_E_xxx Uygun SCC hataları işlemeyi durdurmalıdır.

QUERYCHANGESDATA Yapısı

Her dosya için geçirilen yapı aşağıdaki gibi görünür:

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 Bu yapının boyutu (bayt cinsinden).

lpFileName Bu öğenin özgün dosya adı.

dosyanın durumunu gösteren dwChangeType Kodu:

Kod Description
SCC_CHANGE_UNKNOWN Nelerin değiştiğini anlayamıyor.
SCC_CHANGE_UNCHANGED Bu dosya için ad değişikliği yok.
SCC_CHANGE_DIFFERENT Farklı bir kimliğe sahip dosya, ancak veritabanında aynı ad var.
SCC_CHANGE_NONEXISTENT Dosya veritabanında veya yerel olarak yok.
SCC_CHANGE_DATABASE_DELETED Dosya veritabanında silindi.
SCC_CHANGE_LOCAL_DELETED Dosya yerel olarak silindi, ancak dosya veritabanında hala var. Bu belirlenemezse döndür.SCC_CHANGE_DATABASE_ADDED
SCC_CHANGE_DATABASE_ADDED Dosya veritabanına eklendi, ancak yerel olarak yok.
SCC_CHANGE_LOCAL_ADDED Dosya veritabanında yok ve yeni bir yerel dosya.
SCC_CHANGE_RENAMED_TO Dosya olarak lpLatestNameyeniden adlandırıldı veya veritabanında taşındı.
SCC_CHANGE_RENAMED_FROM dosyasından dosya lpLatestNameyeniden adlandırıldı veya veritabanında taşındı; bu izlenmek için çok pahalıysa, gibi SCC_CHANGE_DATABASE_ADDEDfarklı bir bayrak döndürebilirsiniz.

lpLatestName Bu öğenin geçerli dosya adı.

Ayrıca bkz.