QUERYCHANGESFUNC

Ini adalah fungsi panggilan balik yang digunakan oleh operasi SccQueryChanges untuk menghitung kumpulan nama file dan menentukan status setiap file.

Fungsi SccQueryChanges ini diberi daftar file dan penunjuk ke QUERYCHANGESFUNC panggilan balik. Plug-in kontrol sumber menghitung daftar yang diberikan dan menyediakan status (melalui panggilan balik ini) untuk setiap file dalam daftar.

Tanda Tangan

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

Parameter

pvCallerData

[di] Parameter pvCallerData yang diteruskan oleh pemanggil (IDE) ke SccQueryChanges. Plug-in kontrol sumber tidak boleh membuat asumsi tentang konten nilai ini.

pChangesData

[di] Penunjuk ke struktur STRUKTUR QUERYCHANGESDATA yang menjelaskan perubahan pada file.

Nilai hasil

IDE mengembalikan kode kesalahan yang sesuai:

Nilai Deskripsi
SCC_OK Lanjutkan pemrosesan.
SCC_I_OPERATIONCANCELED Hentikan pemrosesan.
SCC_E_xxx Kesalahan SCC yang sesuai harus berhenti diproses.

Struktur QUERYCHANGESDATA

Struktur yang diteruskan untuk setiap file terlihat seperti berikut ini:

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 Size dari struktur ini (dalam byte).

lpFileName Nama file asli untuk item ini.

Kode dwChangeType yang menunjukkan status file:

Kode Deskripsi
SCC_CHANGE_UNKNOWN Tidak dapat mengetahui apa yang telah berubah.
SCC_CHANGE_UNCHANGED Tidak ada perubahan nama untuk file ini.
SCC_CHANGE_DIFFERENT File dengan identitas yang berbeda, tetapi nama yang sama ada di database.
SCC_CHANGE_NONEXISTENT File tidak ada baik di database atau secara lokal.
SCC_CHANGE_DATABASE_DELETED File dihapus dalam database.
SCC_CHANGE_LOCAL_DELETED File dihapus secara lokal tetapi file masih ada di database. Jika ini tidak dapat ditentukan, kembalikan SCC_CHANGE_DATABASE_ADDED.
SCC_CHANGE_DATABASE_ADDED File ditambahkan ke database tetapi tidak ada secara lokal.
SCC_CHANGE_LOCAL_ADDED File tidak ada di database dan merupakan file lokal baru.
SCC_CHANGE_RENAMED_TO File diganti namanya atau dipindahkan dalam database sebagai lpLatestName.
SCC_CHANGE_RENAMED_FROM File diganti namanya atau dipindahkan dalam database dari lpLatestName; jika ini terlalu mahal untuk dilacak, kembalikan bendera yang berbeda, seperti SCC_CHANGE_DATABASE_ADDED.

lpLatestName Nama file saat ini untuk item ini.

Baca juga