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 NULLtaké ).

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_GETiCommandSccGetCommandOptions 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.

Viz také