SccQueryInfo, funkcja

Ta funkcja uzyskuje informacje o stanie dla zestawu wybranych plików pod kontrolą źródła.

Składnia

SCCRTN SccQueryInfo(
   LPVOID  pvContext,
   LONG    nFiles,
   LPCSTR* lpFileNames,
   LPLONG  lpStatus
);

Parametry

pvContext

[in] Struktura kontekstu wtyczki kontroli źródła.

nFiles

[in] Liczba plików określonych w tablicy lpFileNames i długość tablicy lpStatus .

lpFileNames

[in] Tablica nazw plików do odpytowania.

lpStatus

[in, out] Tablica, w której wtyczka kontroli źródła zwraca flagi stanu dla każdego pliku. Aby uzyskać więcej informacji, zobacz Kod stanu pliku.

Wartość zwracana

Implementacja wtyczki kontroli źródła tej funkcji powinna zwrócić jedną z następujących wartości:

Wartość Opis
SCC_OK Zapytanie zakończyło się pomyślnie.
SCC_E_ACCESSFAILURE Wystąpił problem z uzyskiwaniem dostępu do systemu kontroli źródła, prawdopodobnie spowodowany problemami z siecią lub rywalizacją. Zalecane jest ponowienie próby.
SCC_E_PROJNOTOPEN Projekt nie jest otwarty pod kontrolą źródła.
SCC_E_NONSPECIFICERROR Niepowodzeń nieokreślonych.

Uwagi

Jeśli lpFileName jest pustym ciągiem, obecnie nie ma informacji o stanie do zaktualizowania. W przeciwnym razie jest to pełna nazwa ścieżki pliku, dla którego informacje o stanie mogły ulec zmianie.

Tablica zwracana może być maską bitów SCC_STATUS_xxxx . Aby uzyskać więcej informacji, zobacz Kod stanu pliku. System kontroli źródła może nie obsługiwać wszystkich typów bitów. Jeśli na przykład SCC_STATUS_OUTOFDATE nie jest oferowana, bit nie jest po prostu ustawiony.

W przypadku korzystania z tej funkcji do wyewidencjonowania plików należy zwrócić uwagę na następujące MSSCCI wymagania dotyczące stanu:

  • SCC_STATUS_OUTBYUSER parametr jest ustawiany, gdy bieżący użytkownik wyewidencjonował plik.

  • SCC_STATUS_CHECKEDOUT nie można ustawić, chyba że SCC_STATUS_OUTBYUSER jest ustawiona.

  • SCC_STATUS_CHECKEDOUT parametr jest ustawiany tylko wtedy, gdy plik jest wyewidencjonowany w wyznaczonym katalogu roboczym.

  • Jeśli plik jest wyewidencjonowany przez bieżącego użytkownika w katalogu innym niż katalog roboczy, jest ustawiony, SCC_STATUS_OUTBYUSER ale SCC_STATUS_CHECKEDOUT nie.

Zobacz też