SccGetCommandOptions – funkce
Tato funkce vyzve uživatele k upřesňujícím možnostem daného příkazu.
Syntaxe
SCCRTN SccGetCommandOptions(
LPVOID pvContext,
HWND hWnd,
enum SCCCOMMAND iCommand,
LPCMDOPTS* ppvOptions
);
Parametry
pvContext
[v] Kontextová struktura modulu plug-in správy zdrojového kódu.
Hwnd
[v] Popisovač okna integrovaného vývojového prostředí(IDE), které modul plug-in správy zdrojového kódu může použít jako nadřazený prvek pro všechna dialogová okna, která poskytuje.
Icommand
[v] Příkaz, pro který jsou požadovány rozšířené možnosti (viz kód příkazu pro možné hodnoty).
ppvOptions
[v] Struktura možností (může být NULL
také ).
Vrácená hodnota
Očekává se, že implementace modulu plug-in správy zdrojového kódu této funkce vrátí jednu z následujících hodnot:
Hodnota | Popis |
---|---|
SCC_OK | Úspěch |
SCC_I_ADV_SUPPORT | Modul plug-in správy zdrojového kódu podporuje pokročilé možnosti příkazu. |
SCC_I_OPERATIONCANCELED | Uživatel zrušil dialogové okno Možnosti modulu plug-in správy zdrojového kódu. |
SCC_E_OPTNOTSUPPORTED | Modul plug-in správy zdrojového kódu tuto operaci nepodporuje. |
SCC_E_ISCHECKEDOUT | Tuto operaci nelze provést u souboru, který je aktuálně rezervován. |
SCC_E_ACCESSFAILURE | Při přístupu k systému správy zdrojového kódu došlo k potížím, pravděpodobně kvůli problémům se sítí nebo kolizí. Doporučuje se opakování. |
SCC_E_NONSPECIFICERROR | Nespecifické selhání. |
Poznámky
Integrované vývojové prostředí (IDE) volá tuto funkci poprvé, ppvOptions
=NULL
aby určilo, jestli modul plug-in správy zdrojového kódu podporuje funkci rozšířených možností pro zadaný příkaz. Pokud modul plug-in tuto funkci podporuje, integrované vývojové prostředí (IDE) tuto funkci znovu zavolá, když uživatel požádá o pokročilé možnosti (obvykle implementované jako tlačítko Upřesnit v dialogovém okně) a zadá ukazatel, který není null pro ppvOptions
tuto funkci odkazující NULL
na ukazatel. Modul plug-in ukládá všechny pokročilé možnosti určené uživatelem v privátní struktuře a vrátí ukazatel na danou strukturu v ppvOptions
. Tato struktura se pak předá všem ostatním funkcím rozhraní API modulu plug-in správy zdrojového kódu, které o ní potřebují vědět, včetně následných volání funkce SccGetCommandOptions
.
Příkladem může být objasnění této situace.
Uživatel zvolí příkaz Get a integrované vývojové prostředí zobrazí dialogové okno Získat . Integrované vývojové prostředí volá funkci se nastavenou SCC_COMMAND_GET
iCommand
SccGetCommandOptions
na a ppvOptions
nastavenou na .NULL
Tento modul plug-in správy zdrojového kódu interpretuje jako otázku :Máte pro tento příkaz nějaké pokročilé možnosti? Pokud modul plug-in vrátíSCC_I_ADV_SUPPORT
, integrované vývojové prostředí zobrazí v dialogovém okně Získat tlačítko Upřesnit.
Když uživatel poprvé klikne na tlačítko Upřesnit , integrované vývojové prostředí znovu zavolá SccGetCommandOptions
funkci, tentokrát s jiným nežNULL``ppvOptions
ukazatelem NULL
. Modul plug-in zobrazí vlastní dialogové okno Získat možnosti , vyzve uživatele k zadání informací, umístí informace do vlastní struktury a vrátí ukazatel na danou strukturu v ppvOptions
.
Pokud uživatel ve stejném dialogovém okně znovu klikne na Upřesnit , integrované vývojové prostředí znovu zavolá SccGetCommandOptions
funkci beze změny ppvOptions
, aby se struktura předala zpět modulu plug-in. To umožňuje modulu plug-in znovu inicializovat své dialogové okno na hodnoty, které uživatel předtím nastavil. Modul plug-in před vrácením upraví strukturu na místě.
Nakonec, když uživatel klikne v dialogovém okně Get integrovaného vývojového prostředí na OK, integrované vývojové prostředí zavolá SccGet a předá strukturu vrácenou v ppvOptions
seznamu s rozšířenými možnostmi.
Poznámka:
SCC_COMMAND_OPTIONS
Příkaz se používá, když integrované vývojové prostředí zobrazí dialogové okno Možnosti, které uživateli umožní nastavit předvolby, které řídí fungování integrace. Pokud modul plug-in správy zdrojového kódu chce zadat vlastní dialogové okno předvoleb, může ho zobrazit z tlačítka Upřesnit v dialogovém okně předvoleb integrovaného vývojového prostředí. Modul plug-in je výhradně zodpovědný za získání a zachování těchto informací; integrované vývojové prostředí (IDE) ho nepoužívá ani ho neupravuje.