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.

Vedi anche