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.

Vedi anche