SccGetCommandOptions, funkcja

Ta funkcja monituje użytkownika o opcje zaawansowane dla danego polecenia.

Składnia

SCCRTN SccGetCommandOptions(
   LPVOID pvContext,
   HWND hWnd,
   enum SCCCOMMAND iCommand,
   LPCMDOPTS* ppvOptions
);

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.

Icommand

[in] Polecenie, dla którego są żądane opcje zaawansowane (zobacz Kod polecenia, aby uzyskać możliwe wartości).

ppvOptions

[in] Struktura opcji (może być NULLrównież ).

Wartość zwracana

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

Wartość Opis
SCC_OK Powodzenie.
SCC_I_ADV_SUPPORT Wtyczka kontroli źródła obsługuje zaawansowane opcje dla polecenia.
SCC_I_OPERATIONCANCELED Użytkownik anulował okno dialogowe Opcje wtyczki kontroli źródła.
SCC_E_OPTNOTSUPPORTED Wtyczka kontroli źródła nie obsługuje tej operacji.
SCC_E_ISCHECKEDOUT Nie można wykonać tej operacji w pliku, który jest obecnie wyewidencjonowany.
SCC_E_ACCESSFAILURE Wystąpił problem podczas uzyskiwania dostępu do systemu kontroli źródła, prawdopodobnie z powodu problemów z siecią lub rywalizacją. Zalecane jest ponowienie próby.
SCC_E_NONSPECIFICERROR Niepowodzeń nieokreślonych.

Uwagi

Środowisko IDE wywołuje tę funkcję po raz pierwszy za ppvOptions=NULL pomocą polecenia , aby określić, czy wtyczka kontroli źródła obsługuje funkcję opcji zaawansowanych dla określonego polecenia. Jeśli wtyczka obsługuje funkcję dla tego polecenia, środowisko IDE wywołuje tę funkcję ponownie, gdy użytkownik żąda zaawansowanych opcji (zwykle zaimplementowanych jako przycisk Zaawansowane w oknie dialogowym) i dostarcza wskaźnik inny niż NULL dla ppvOptions tego wskazuje NULL wskaźnik. Wtyczka przechowuje wszystkie zaawansowane opcje określone przez użytkownika w strukturze prywatnej i zwraca wskaźnik do tej struktury w pliku ppvOptions. Ta struktura jest następnie przekazywana do wszystkich innych funkcji interfejsu API wtyczki kontroli kodu źródłowego, które muszą o niej wiedzieć, w tym do kolejnych wywołań SccGetCommandOptions funkcji.

Przykładem może być wyjaśnienie tej sytuacji.

Użytkownik wybiera polecenie Pobierz , a środowisko IDE wyświetla okno dialogowe Pobieranie . Środowisko IDE wywołuje SccGetCommandOptions funkcję z ustawioną wartością iCommandSCC_COMMAND_GET i ppvOptions ustawioną na NULL. Jest to interpretowane przez wtyczkę kontroli źródła jako pytanie "Czy masz jakieś zaawansowane opcje dla tego polecenia?" Jeśli wtyczka zwróci SCC_I_ADV_SUPPORTwartość , środowisko IDE wyświetli przycisk Zaawansowane w oknie dialogowym Pobieranie .

Gdy użytkownik po raz pierwszy kliknie przycisk Zaawansowane , środowisko IDE ponownie wywołuje SccGetCommandOptions funkcję, tym razem z wartością innąNULL``ppvOptions niż wskazującą NULL wskaźnik. Wtyczka wyświetla własne okno dialogowe Pobieranie opcji , wyświetla użytkownikowi monit o informacje, umieszcza te informacje we własnej strukturze i zwraca wskaźnik do tej struktury w pliku ppvOptions.

Jeśli użytkownik ponownie kliknie pozycję Zaawansowane w tym samym oknie dialogowym, środowisko IDE ponownie wywołuje SccGetCommandOptions funkcję bez zmiany ppvOptions, aby struktura została przekazana z powrotem do wtyczki. Dzięki temu wtyczka może ponownie zainicjować okno dialogowe z wartościami ustawionymi wcześniej przez użytkownika. Wtyczka modyfikuje strukturę w miejscu przed zwróceniem.

Na koniec, gdy użytkownik kliknie przycisk OK w oknie dialogowym Pobieranie środowiska IDE, środowisko IDE wywołuje SccGet, przekazując strukturę zwróconą w ppvOptions pliku , która zawiera opcje zaawansowane.

Uwaga

Polecenie SCC_COMMAND_OPTIONS jest używane, gdy środowisko IDE wyświetla okno dialogowe Opcje , które pozwala użytkownikowi ustawić preferencje, które kontrolują sposób działania integracji. Jeśli wtyczka kontroli źródła chce podać własne preferencje okno dialogowe, może wyświetlić go z przycisku Zaawansowane w oknie dialogowym preferencji środowiska IDE. Wtyczka jest odpowiedzialna wyłącznie za pobieranie i utrwalanie tych informacji; środowisko IDE nie używa go ani nie modyfikuje.

Zobacz też