SccSetOption, funkcja
Ta funkcja ustawia opcje kontrolujące zachowanie wtyczki kontroli źródła.
Składnia
SCCRTN SccSetOption(
LPVOID pvContext,
LONG nOption,
LONG dwVal
);
Parametry
pvContext
[in] Struktura kontekstu wtyczki kontroli źródła.
nOpcje
[in] Opcja, która jest ustawiana.
dwVal
[in] Ustawienia opcji.
Wartość zwracana
Implementacja wtyczki kontroli źródła tej funkcji powinna zwrócić jedną z następujących wartości:
Wartość | Opis |
---|---|
SCC_OK | Opcja została pomyślnie ustawiona. |
SCC_I_SHARESUBPROJOK | Zwrócona wartość , jeśli nOption element i SCC_OPT_SHARESUBPROJ wtyczka kontroli źródła umożliwia środowisku IDE ustawienie folderu docelowego. |
SCC_E_OPNOTSUPPORTED | Opcja nie została ustawiona i nie powinna być na nią polegana. |
Uwagi
Środowisko IDE wywołuje tę funkcję, aby kontrolować zachowanie wtyczki kontroli źródła. Pierwszy parametr nOption
, wskazuje wartość, która jest ustawiana, podczas gdy drugi , wskazuje, dwVal
co zrobić z tej wartości. Wtyczka przechowuje te informacje skojarzone z elementem pvContext``,
, więc środowisko IDE musi wywołać tę funkcję po wywołaniu funkcji SccInitialize (ale niekoniecznie po każdym wywołaniu SccOpenProject).
Podsumowanie opcji i ich wartości:
nOption |
dwValue |
opis |
---|---|---|
SCC_OPT_EVENTQUEUE |
SCC_OPT_EQ_DISABLE SCC_OPT_EQ_ENABLE |
Włącza/wyłącza kolejkowanie zdarzeń w tle. |
SCC_OPT_USERDATA |
Dowolna wartość | Określa wartość użytkownika, która ma zostać przekazana do funkcji wywołania zwrotnego OPTNAMECHANGEPFN . |
SCC_OPT_HASCANCELMODE |
SCC_OPT_HCM_NO SCC_OPT_HCM_YES |
Wskazuje, czy środowisko IDE aktualnie obsługuje anulowanie operacji. |
SCC_OPT_NAMECHANGEPFN |
Wskaźnik do funkcji wywołania zwrotnego OPTNAMECHANGEPFN | Ustawia wskaźnik na funkcję wywołania zwrotnego zmiany nazwy. |
SCC_OPT_SCCCHECKOUTONLY |
SCC_OPT_SCO_NO SCC_OPT_SCO_YES |
Wskazuje, czy środowisko IDE zezwala na wyewidencjonowanie swoich plików ręcznie (za pośrednictwem interfejsu użytkownika kontroli źródła) lub czy muszą być wyewidencjonowane tylko za pośrednictwem wtyczki kontroli źródła. |
SCC_OPT_SHARESUBPROJ |
Nie dotyczy | Jeśli wtyczka kontroli źródła umożliwia środowisku IDE określenie lokalnego folderu projektu, wtyczka zwraca wartość SCC_I_SHARESUBPROJOK . |
SCC_OPT_EVENTQUEUE
Jeśli nOption
to SCC_OPT_EVENTQUEUE
, środowisko IDE wyłącza (lub ponownie włącza) przetwarzanie w tle. Na przykład podczas kompilacji środowisko IDE może instruować wtyczkę kontroli źródła, aby zatrzymać przetwarzanie bezczynności dowolnego rodzaju. Po skompilowaniu ponowne włączenie przetwarzania w tle w celu zapewnienia aktualności kolejki zdarzeń wtyczki. Odpowiadająca wartości parametru SCC_OPT_EVENTQUEUE
nOption
, istnieją dwie możliwe wartości dla dwVal
, a mianowicie SCC_OPT_EQ_ENABLE
i SCC_OPT_EQ_DISABLE
.
SCC_OPT_HASCANCELMODE
Jeśli wartość nOption
parametru to SCC_OPT_HASCANCELMODE
, środowisko IDE umożliwia użytkownikom anulowanie długich operacji. Ustawienie dwVal
na SCC_OPT_HCM_NO
(ustawienie domyślne) oznacza, że środowisko IDE nie ma trybu anulowania. Wtyczka kontroli źródła musi oferować własny przycisk Anuluj, jeśli chce, aby użytkownik mógł anulować. SCC_OPT_HCM_YES
wskazuje, że środowisko IDE zapewnia możliwość anulowania operacji, więc wtyczka SCC nie musi wyświetlać własnego przycisku Anuluj. Jeśli środowisko IDE ustawia wartość dwVal
SCC_OPT_HCM_YES
, jest przygotowane do odpowiadania na SCC_MSG_STATUS
komunikaty i DOCANCEL
wysyłane do lpTextOutProc
funkcji wywołania zwrotnego (zobacz LPTEXTOUTPROC). Jeśli środowisko IDE nie ustawi tej zmiennej, wtyczka nie powinna wysyłać tych dwóch komunikatów.
SCC_OPT_NAMECHANGEPFN
Jeśli parametr nOption ma ustawioną wartość SCC_OPT_NAMECHANGEPFN
, a zarówno wtyczka kontroli źródła, jak i środowisko IDE zezwalają na to, wtyczka może rzeczywiście zmienić nazwę lub przenieść plik podczas operacji kontroli źródła. Zostanie dwVal
ustawiony wskaźnik funkcji typu OPTNAMECHANGEPFN. Podczas operacji kontroli źródła wtyczka może wywołać tę funkcję, przekazując trzy parametry. Są to stara nazwa (z w pełni kwalifikowaną ścieżką) pliku, nowa nazwa (z w pełni kwalifikowaną ścieżką) tego pliku i wskaźnik do informacji, które mają znaczenie dla środowiska IDE. Środowisko IDE wysyła w tym ostatnim wskaźniku, wywołując metodę SccSetOption
z ustawioną wartością nOption
SCC_OPT_USERDATA
, wskazując dwVal
dane. Obsługa tej funkcji jest opcjonalna. Wtyczka VSSCI korzystająca z tej możliwości musi zainicjować jego wskaźnik funkcji i zmienne danych użytkownika do NULL
, i nie może wywołać funkcji zmiany nazwy, chyba że została podana. Należy również przygotować się do przechowywania podanej wartości lub zmiany jej w odpowiedzi na nowe wywołanie metody SccSetOption
. Nie będzie to miało miejsce w trakcie operacji polecenia kontroli źródła, ale może się to zdarzyć między poleceniami.
SCC_OPT_SCCCHECKOUTONLY
Jeśli parametr nOption ma wartość SCC_OPT_SCCCHECKOUTONLY
, środowisko IDE wskazuje, że pliki w aktualnie otwartym projekcie nigdy nie powinny być wyewidencjonowane ręcznie za pośrednictwem interfejsu użytkownika systemu kontroli źródła. Zamiast tego pliki powinny być wyewidencjonowane tylko za pośrednictwem wtyczki kontroli źródła pod kontrolą środowiska IDE. Jeśli dwValue
ustawiono wartość SCC_OPT_SCO_NO
, oznacza to, że pliki powinny być traktowane normalnie przez wtyczkę i można je wyewidencjonować za pośrednictwem interfejsu użytkownika kontroli źródła. Jeśli dwValue
ustawiono wartość SCC_OPT_SCO_YES
, tylko wtyczka może wyewidencjonować pliki, a interfejs użytkownika systemu kontroli źródła nie powinien być wywoływany. Dotyczy to sytuacji, w których środowisko IDE może mieć "pseudo-pliki", które mają sens wyewidencjonować tylko za pośrednictwem środowiska IDE.
SCC_OPT_SHARESUBPROJ
Jeśli nOption
ustawiono wartość SCC_OPT_SHARESUBPROJ
, środowisko IDE testuje, czy wtyczka kontroli źródła może używać określonego folderu lokalnego podczas dodawania plików z kontroli źródła. Wartość parametru dwVal
nie ma znaczenia w tym przypadku. Jeśli wtyczka umożliwia środowisku IDE określenie lokalnego folderu docelowego, w którym pliki zostaną dodane z kontroli źródła, gdy wywołana jest funkcja SccAddFromScc , wtyczka musi zostać zwrócona SCC_I_SHARESUBPROJOK
po wywołaniu SccSetOption
funkcji. Następnie środowisko IDE używa lplpFileNames
parametru SccAddFromScc
funkcji do przekazania w folderze docelowym. Wtyczka używa tego folderu docelowego do umieszczania plików dodanych z kontroli źródła. Jeśli wtyczka nie zwraca SCC_I_SHARESUBPROJOK
się po SCC_OPT_SHARESUBPROJ
ustawieniu opcji, środowisko IDE zakłada, że wtyczka może dodawać pliki tylko w bieżącym folderze lokalnym.