Udostępnij za pośrednictwem


QUERYCHANGESFUNC

Jest to funkcja wywołania zwrotnego używana przez operację SccQueryChanges do wyliczania kolekcji nazw plików i określania stanu każdego pliku.

Funkcja SccQueryChanges otrzymuje listę plików i wskaźnik do wywołania zwrotnego QUERYCHANGESFUNC . Wtyczka kontroli źródła wylicza daną listę i udostępnia stan (za pośrednictwem tego wywołania zwrotnego) dla każdego pliku na liście.

Podpis

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

Parametry

pvCallerData

[in] Parametr pvCallerData przekazany przez obiekt wywołujący (IDE) do biblioteki SccQueryChanges. Wtyczka kontroli źródła nie powinna zawierać żadnych założeń dotyczących zawartości tej wartości.

pChangesData

[in] Wskaźnik do struktury QUERYCHANGESDATA opisujący zmiany w pliku.

Wartość zwracana

Środowisko IDE zwraca odpowiedni kod błędu:

Wartość Opis
SCC_OK Kontynuuj przetwarzanie.
SCC_I_OPERATIONCANCELED Zatrzymaj przetwarzanie.
SCC_E_xxx Każdy odpowiedni błąd SCC powinien zatrzymać przetwarzanie.

QUERYCHANGESDATA, struktura

Struktura przekazana dla każdego pliku wygląda następująco:

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 Rozmiar tej struktury (w bajtach).

lpFileName Oryginalna nazwa pliku dla tego elementu.

dwChangeType Kod wskazujący stan pliku:

Kod opis
SCC_CHANGE_UNKNOWN Nie można stwierdzić, co się zmieniło.
SCC_CHANGE_UNCHANGED Brak zmian nazw dla tego pliku.
SCC_CHANGE_DIFFERENT Plik z inną tożsamością, ale ta sama nazwa istnieje w bazie danych.
SCC_CHANGE_NONEXISTENT Plik nie istnieje w bazie danych lub lokalnie.
SCC_CHANGE_DATABASE_DELETED Plik usunięty w bazie danych.
SCC_CHANGE_LOCAL_DELETED Plik usunięty lokalnie, ale plik nadal istnieje w bazie danych. Jeśli nie można tego określić, zwróć wartość SCC_CHANGE_DATABASE_ADDED.
SCC_CHANGE_DATABASE_ADDED Plik dodany do bazy danych, ale nie istnieje lokalnie.
SCC_CHANGE_LOCAL_ADDED Plik nie istnieje w bazie danych i jest nowym plikiem lokalnym.
SCC_CHANGE_RENAMED_TO Nazwa pliku została zmieniona lub przeniesiona w bazie danych jako lpLatestName.
SCC_CHANGE_RENAMED_FROM Nazwa pliku zmieniona lub przeniesiona w bazie danych z lpLatestName. Jeśli jest to zbyt drogie do śledzenia, zwróć inną flagę, taką jak SCC_CHANGE_DATABASE_ADDED.

lpLatestName bieżąca nazwa pliku dla tego elementu.

Zobacz też