Funzione SccGetCommandOptions
Questa funzione richiede all'utente le opzioni avanzate per un determinato comando.
Sintassi
SCCRTN SccGetCommandOptions(
LPVOID pvContext,
HWND hWnd,
enum SCCCOMMAND iCommand,
LPCMDOPTS* ppvOptions
);
Parametri
pvContext
[in] Struttura del contesto del plug-in del controllo del codice sorgente.
hWnd
[in] Handle per la finestra dell'IDE che il plug-in del controllo del codice sorgente può usare come elemento padre per qualsiasi finestra di dialogo fornita.
Icommand
[in] Comando per cui sono richieste opzioni avanzate (vedere Codice del comando per i valori possibili).
ppvOptions
[in] La struttura delle opzioni (può anche essere NULL
).
Valore restituito
L'implementazione del plug-in del controllo del codice sorgente di questa funzione dovrebbe restituire uno dei valori seguenti:
Valore | Descrizione |
---|---|
SCC_OK | Esito positivo. |
SCC_I_ADV_SUPPORT | Il plug-in del controllo del codice sorgente supporta opzioni avanzate per il comando. |
SCC_I_OPERATIONCANCELED | L'utente ha annullato la finestra di dialogo Opzioni del plug-in del controllo del codice sorgente. |
SCC_E_OPTNOTSUPPORTED | Il plug-in del controllo del codice sorgente non supporta questa operazione. |
SCC_E_ISCHECKEDOUT | Impossibile eseguire questa operazione su un file attualmente estratto. |
SCC_E_ACCESSFAILURE | Si è verificato un problema durante l'accesso al sistema di controllo del codice sorgente, probabilmente a causa di problemi di rete o contesa. È consigliabile riprovare. |
SCC_E_NONSPECIFICERROR | Errore non specifico. |
Osservazioni:
L'IDE chiama questa funzione per la prima volta con ppvOptions
=NULL
per determinare se il plug-in del controllo del codice sorgente supporta la funzionalità opzioni avanzate per il comando specificato. Se il plug-in supporta la funzionalità per tale comando, l'IDE chiama nuovamente questa funzione quando l'utente richiede opzioni avanzate (in genere implementate come pulsante Avanzate in una finestra di dialogo) e fornisce un puntatore non NULL per ppvOptions
tale puntatore a un NULL
puntatore. Il plug-in archivia tutte le opzioni avanzate specificate dall'utente in una struttura privata e restituisce un puntatore a tale struttura in ppvOptions
. Questa struttura viene quindi passata a tutte le altre funzioni API plug-in del controllo del codice sorgente che devono conoscerlo, incluse le chiamate successive alla SccGetCommandOptions
funzione.
Un esempio può aiutare a chiarire questa situazione.
Un utente sceglie il comando Get e l'IDE visualizza una finestra di dialogo Recupera . L'IDE chiama la SccGetCommandOptions
funzione con iCommand
impostato su SCC_COMMAND_GET
e ppvOptions
impostata su NULL
. Questa operazione viene interpretata dal plug-in del controllo del codice sorgente come domanda: "Sono disponibili opzioni avanzate per questo comando?" Se il plug-in restituisce SCC_I_ADV_SUPPORT
, l'IDE visualizza un pulsante Avanzate nella finestra di dialogo Recupera .
La prima volta che l'utente fa clic sul pulsante Avanzate , l'IDE chiama nuovamente la SccGetCommandOptions
funzione, questa volta con un valore nonNULL``ppvOptions
che punta a un NULL
puntatore. Il plug-in visualizza una finestra di dialogo Get Options personalizzata, richiede all'utente di immettere informazioni, inserisce tali informazioni nella propria struttura e restituisce un puntatore a tale struttura in ppvOptions
.
Se l'utente fa di nuovo clic su Avanzate nella stessa finestra di dialogo, l'IDE chiama nuovamente la SccGetCommandOptions
funzione senza modificare ppvOptions
, in modo che la struttura venga nuovamente passata al plug-in. Ciò consente al plug-in di reinizializzare la finestra di dialogo con i valori impostati in precedenza dall'utente. Il plug-in modifica la struttura sul posto prima della restituzione.
Infine, quando l'utente fa clic su OK nella finestra di dialogo Recupera dell'IDE, l'IDE chiama SccGet, passando la struttura restituita in ppvOptions
che contiene le opzioni avanzate.
Nota
Il comando viene usato quando l'IDE visualizza una finestra di dialogo SCC_COMMAND_OPTIONS
Opzioni che consente all'utente di impostare le preferenze che controllano il funzionamento dell'integrazione. Se il plug-in del controllo del codice sorgente desidera specificare le proprie preferenze finestra di dialogo, può visualizzarlo da un pulsante Avanzate nella finestra di dialogo preferenze dell'IDE. Il plug-in è esclusivamente responsabile di ottenere e rendere persistenti queste informazioni; l'IDE non lo usa o lo modifica.