Funkcja SccAddFromScc

Ta funkcja pozwala użytkownikowi przeglądać pliki, które znajdują się już w systemie kontroli źródła, a następnie tworzyć te pliki jako część bieżącego projektu. Na przykład ta funkcja może uzyskać wspólny plik nagłówka do bieżącego projektu bez kopiowania pliku. Zwracana tablica plików , zawiera listę plików lplpFileNames, które użytkownik chce dodać do projektu IDE.

Składnia

SCCRTN SccAddFromScc (
   LPVOID   pvContext,
   HWND     hWnd,
   LPLONG   lpnFiles,
   LPCSTR** lplpFileNames
);

Parametry

pvContext

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

Hwnd

[in] Dojście do okna środowiska IDE, którego wtyczka kontroli źródła może używać jako elementu nadrzędnego dla wszystkich okien dialogowych, które udostępnia.

lpnFiles

[in, out] Bufor dla liczby plików, które są dodawane. (Dzieje się tak NULL , jeśli pamięć wskazywana przez lplpFileNames element ma zostać zwolniona. Zobacz uwagi, aby uzyskać szczegółowe informacje).

Lplpfilenames

[in, out] Tablica wskaźników do wszystkich nazw plików bez ścieżek katalogu. Ta tablica jest przydzielana i zwalniana przez wtyczkę kontroli źródła. Jeśli lpnFiles = 1 i lplpFileNames nie NULL, imię w tablicy wskazywane przez lplpFileNames element zawiera folder docelowy.

Wartość zwracana

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

Wartość Opis
SCC_OK Pliki zostały pomyślnie umieszczone i dodane do projektu.
SCC_I_OPERATIONCANCELED Operacja została anulowana bez efektu.
SCC_I_RELOADFILE Należy ponownie załadować plik lub projekt.

Uwagi

Środowisko IDE wywołuje tę funkcję. Jeśli wtyczka kontroli źródła obsługuje określanie lokalnego folderu docelowego, środowisko IDE przechodzi lpnFiles = 1 i przekazuje nazwę folderu lokalnego do lplpFileNames.

Gdy wywołanie SccAddFromScc funkcji zwróci, wtyczka ma przypisane wartości do lpnFiles i lplpFileNames, przydzielając pamięć dla tablicy nazw plików w razie potrzeby (należy pamiętać, że ta alokacja zastępuje wskaźnik w pliku ).lplpFileNames Wtyczka kontroli źródła jest odpowiedzialna za umieszczenie wszystkich plików w katalogu użytkownika lub w określonym folderze oznaczeń. Następnie środowisko IDE dodaje pliki do projektu IDE.

Na koniec środowisko IDE wywołuje tę funkcję po raz drugi, przekazując NULL element dla elementu lpnFiles. Jest to interpretowane jako specjalny sygnał przez wtyczkę kontroli źródła w celu zwolnienia pamięci przydzielonej dla tablicy nazw plików w programie lplpFileNames``.

lplpFileNames jest wskaźnikiem char *** . Wtyczka kontroli źródła umieszcza wskaźnik do tablicy wskaźników do nazw plików, przekazując w ten sposób listę w standardowy sposób dla tego interfejsu API.

Uwaga

Początkowe wersje interfejsu API VSSCI nie umożliwiają wskazania projektu docelowego dla dodanych plików. Aby to uwzględnić, semantyka parametru lplpFIleNames została ulepszona, aby był on parametrem w/wy, a nie parametrem wyjściowym. Jeśli określono tylko jeden plik, oznacza to, że wartość wskazywana przez lpnFiles = 1, pierwszy element lplpFileNames zawiera folder docelowy. Aby użyć tych nowych semantyki, środowisko IDE wywołuje SccSetOption funkcję z parametrem ustawionym nOptionna SCC_OPT_SHARESUBPROJ. Jeśli wtyczka kontroli źródła nie obsługuje semantyki, zwraca wartość SCC_E_OPTNOTSUPPORTED. Spowoduje to wyłączenie korzystania z funkcji Dodaj z kontroli źródła. Jeśli wtyczka obsługuje funkcję Dodaj z kontroli źródła (SCC_CAP_ADDFROMSCC), musi obsługiwać nową semantyka i zwracać polecenie SCC_I_SHARESUBPROJOK.

Zobacz też