Funzione SccInitialize
Questa funzione inizializza il plug-in del controllo del codice sorgente e fornisce funzionalità e limiti all'ambiente di sviluppo integrato (IDE).
Sintassi
SCCRTN SccInitialize (
LPVOID* ppvContext,
HWND hWnd,
LPCSTR lpCallerName,
LPSTR lpSccName,
LPLONG lpSccCaps,
LPSTR lpAuxPathLabel,
LPLONG pnCheckoutCommentLen,
LPLONG pnCommentLen
);
Parametri
ppvContext
[in] Il plug-in del controllo del codice sorgente può posizionare un puntatore alla struttura del contesto qui.
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.
lpCallerName
[in] Nome del programma che chiama il plug-in del controllo del codice sorgente.
lpSccName
[in, out] Buffer in cui il plug-in del controllo del codice sorgente inserisce il proprio nome (non per superare SCC_NAME_LEN
).
lpSccCaps
[out] Restituisce i flag di funzionalità del plug-in del controllo del codice sorgente.
lpAuxPathLabel
[in, out] Il buffer in cui il plug-in del controllo del codice sorgente inserisce una stringa che descrive il lpAuxProjPath
parametro restituito da SccOpenProject e SccGetProjPath (non per superare SCC_AUXLABEL_LEN
).
pnCheckoutCommentLen
[out] Restituisce la lunghezza massima consentita per un commento di estrazione.
pnCommentLen
[out] Restituisce la lunghezza massima consentita per altri commenti.
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 | Inizializzazione del controllo del codice sorgente completata. |
SCC_E_INITIALIZEFAILED | Impossibile inizializzare il sistema. |
SCC_E_NOTAUTHORIZED | L'utente non è autorizzato a eseguire l'operazione specificata. |
SCC_E_NONSPECFICERROR | Errore non specifico; il sistema di controllo del codice sorgente non è stato inizializzato. |
Osservazioni:
L'IDE chiama questa funzione quando carica per la prima volta il plug-in del controllo del codice sorgente. Consente all'IDE di passare determinate informazioni, ad esempio il nome del chiamante, al plug-in. L'IDE recupera anche determinate informazioni, ad esempio la lunghezza massima consentita per i commenti e le funzionalità del plug-in.
Punta ppvContext
a un NULL
puntatore. Il plug-in del controllo del codice sorgente può allocare una struttura per il proprio uso e archiviare un puntatore a tale struttura in ppvContext
. L'IDE passerà questo puntatore a ogni altra funzione API VSSCI, consentendo al plug-in di disporre di informazioni di contesto disponibili senza ricorrere all'archiviazione globale e al supporto di più istanze del plug-in. Questa struttura deve essere deallocata quando viene chiamato SccUninitialize.
I lpCallerName
parametri e lpSccName
consentono all'IDE e al plug-in del controllo del codice sorgente di scambiare nomi. Questi nomi possono essere usati semplicemente per distinguere tra più istanze oppure possono essere effettivamente visualizzati in menu o finestre di dialogo.
Il lpAuxPathLabel
parametro è una stringa usata come commento per identificare il percorso del progetto ausiliario archiviato nel file della soluzione e passato al plug-in del controllo del codice sorgente in una chiamata a SccOpenProject. Visual Source Cassaforte usa la stringa "Source Cassaforte Project:"; altri plug-in di controllo del codice sorgente devono evitare l'uso di questa particolare stringa.
Il lpSccCaps
parametro fornisce al plug-in del controllo del codice sorgente una posizione in cui archiviare i flag di bit che indicano le funzionalità del plug-in. Per un elenco completo dei flag di bitflag di funzionalità, vedere Flag di funzionalità). Ad esempio, se il plug-in prevede di scrivere risultati in una funzione di callback fornita dal chiamante, il plug-in imposta il bit di funzionalità SCC_CAP_TEXTOUT. Segnalerebbe l'IDE per creare una finestra per i risultati del controllo della versione.