Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.