Funzione SccSetOption

Questa funzione imposta le opzioni che controllano il comportamento del plug-in del controllo del codice sorgente.

Sintassi

SCCRTN SccSetOption(
   LPVOID pvContext,
   LONG   nOption,
   LONG   dwVal
);

Parametri

pvContext

[in] Struttura del contesto del plug-in del controllo del codice sorgente.

nOption

[in] Opzione impostata.

dwVal

[in] Impostazioni per l'opzione .

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 L'opzione è stata impostata correttamente.
SCC_I_SHARESUBPROJOK Restituito se nOption era SCC_OPT_SHARESUBPROJ e il plug-in del controllo del codice sorgente consente all'IDE di impostare la cartella di destinazione.
SCC_E_OPNOTSUPPORTED L'opzione non è stata impostata e non deve essere basata su .

Osservazioni:

L'IDE chiama questa funzione per controllare il comportamento del plug-in del controllo del codice sorgente. Il primo parametro, nOption, indica il valore che viene impostato, mentre il secondo, dwVal, indica cosa fare con tale valore. Il plug-in archivia queste informazioni associate a un pvContext``, oggetto in modo che l'IDE chiami questa funzione dopo aver chiamato SccInitialize (ma non necessariamente dopo ogni chiamata a SccOpenProject).

Riepilogo delle opzioni e dei relativi valori:

nOption dwValue Descrizione
SCC_OPT_EVENTQUEUE SCC_OPT_EQ_DISABLE

SCC_OPT_EQ_ENABLE
Abilita/disabilita l'accodamento degli eventi in background.
SCC_OPT_USERDATA Valore arbitrario Specifica un valore utente da passare alla funzione di callback OPTNAMECHANGEPFN .
SCC_OPT_HASCANCELMODE SCC_OPT_HCM_NO

SCC_OPT_HCM_YES
Indica se l'IDE supporta attualmente l'annullamento di un'operazione.
SCC_OPT_NAMECHANGEPFN Puntatore alla funzione di callback OPTNAMECHANGEPFN Imposta un puntatore a una funzione di callback di modifica del nome.
SCC_OPT_SCCCHECKOUTONLY SCC_OPT_SCO_NO

SCC_OPT_SCO_YES
Indica se l'IDE consente l'estrazione manuale dei file (tramite l'interfaccia utente del controllo del codice sorgente) o se devono essere estratte solo tramite il plug-in del controllo del codice sorgente.
SCC_OPT_SHARESUBPROJ N/D Se il plug-in del controllo del codice sorgente consente all'IDE di specificare la cartella del progetto locale, il plug-in restituisce SCC_I_SHARESUBPROJOK.

SCC_OPT_EVENTQUEUE

Se nOption è SCC_OPT_EVENTQUEUE, l'IDE sta disabilitando (o riabilitando) l'elaborazione in background. Ad esempio, durante una compilazione, l'IDE potrebbe indicare al plug-in del controllo del codice sorgente di arrestare l'elaborazione inattiva di qualsiasi tipo. Dopo la compilazione, l'elaborazione in background viene riattivata per mantenere aggiornata la coda di eventi del plug-in. Corrispondente al SCC_OPT_EVENTQUEUE valore di nOption, sono disponibili due valori possibili per dwVal, ovvero SCC_OPT_EQ_ENABLE e SCC_OPT_EQ_DISABLE.

SCC_OPT_HASCANCELMODE

Se il valore per nOption è SCC_OPT_HASCANCELMODE, l'IDE consente agli utenti di annullare operazioni lunghe. L'impostazione su dwValSCC_OPT_HCM_NO (impostazione predefinita) indica che l'IDE non ha alcuna modalità di annullamento. Il plug-in del controllo del codice sorgente deve offrire il proprio pulsante Annulla se vuole che l'utente possa annullare. SCC_OPT_HCM_YES indica che l'IDE consente di annullare un'operazione, pertanto il plug-in SCC non deve visualizzare il proprio pulsante Annulla. Se l'IDE imposta dwValSCC_OPT_HCM_YESsu , è pronto a rispondere ai SCC_MSG_STATUS messaggi e DOCANCEL inviati alla lpTextOutProc funzione di callback (vedere LPTEXTOUTPROC). Se l'IDE non imposta questa variabile, il plug-in non deve inviare questi due messaggi.

SCC_OPT_NAMECHANGEPFN

Se nOption è impostato su SCC_OPT_NAMECHANGEPFNe il plug-in del controllo del codice sorgente e l'IDE lo consentono, il plug-in può effettivamente rinominare o spostare un file durante un'operazione di controllo del codice sorgente. Verrà dwVal impostato su un puntatore a funzione di tipo OPTNAMECHANGEPFN. Durante un'operazione di controllo del codice sorgente, il plug-in può chiamare questa funzione, passando tre parametri. Si tratta del nome precedente (con percorso completo) di un file, del nuovo nome (con percorso completo) del file e di un puntatore alle informazioni che hanno rilevanza per l'IDE. L'IDE invia in questo ultimo puntatore chiamando SccSetOption con impostato su SCC_OPT_USERDATA, puntando dwVal ai nOption dati. Il supporto per questa funzione è facoltativo. Un plug-in VSSCI che usa questa capacità deve inizializzare il puntatore a funzione e le variabili di dati utente su NULLe non deve chiamare una funzione di ridenominazione a meno che non ne sia stata assegnata una. Deve anche essere pronto a contenere il valore assegnato o modificarlo in risposta a una nuova chiamata a SccSetOption. Ciò non avviene durante un'operazione di comando del controllo del codice sorgente, ma può verificarsi tra i comandi.

SCC_OPT_SCCCHECKOUTONLY

Se nOption è impostato su SCC_OPT_SCCCHECKOUTONLY, l'IDE indica che i file nel progetto attualmente aperto non devono mai essere estratti manualmente tramite l'interfaccia utente del sistema di controllo del codice sorgente. I file devono invece essere estratti solo tramite il plug-in del controllo del codice sorgente sotto il controllo IDE. Se dwValue è impostato su SCC_OPT_SCO_NO, significa che i file devono essere trattati normalmente dal plug-in e possono essere estratti tramite l'interfaccia utente del controllo del codice sorgente. Se dwValue è impostato su SCC_OPT_SCO_YES, è consentito archiviare solo i file del plug-in e l'interfaccia utente del sistema di controllo del codice sorgente non deve essere richiamata. Si tratta di situazioni in cui l'IDE potrebbe avere "pseudo-file" che hanno senso eseguire l'estrazione solo tramite l'IDE.

SCC_OPT_SHARESUBPROJ

SenOption è impostato su SCC_OPT_SHARESUBPROJ, l'IDE sta verificando se il plug-in del controllo del codice sorgente può usare una cartella locale specificata quando si aggiungono file dal controllo del codice sorgente. Il valore del dwVal parametro non è importante in questo caso. Se il plug-in consente all'IDE di specificare la cartella di destinazione locale in cui verranno aggiunti i file dal controllo del codice sorgente quando viene chiamato SccAddFromScc , il plug-in deve restituire SCC_I_SHARESUBPROJOK quando viene chiamata la SccSetOption funzione. L'IDE usa quindi il lplpFileNames parametro della SccAddFromScc funzione per passare la cartella di destinazione. Il plug-in usa la cartella di destinazione per inserire i file aggiunti dal controllo del codice sorgente. Se il plug-in non restituisce SCC_I_SHARESUBPROJOK quando l'opzione SCC_OPT_SHARESUBPROJ è impostata, l'IDE presuppone che il plug-in sia in grado di aggiungere file solo nella cartella locale corrente.

Vedi anche