Condividi tramite


Funzione SccGetProjPath

Questa funzioneutente viene richiesto il percorso del progetto, ovvero una stringa significativa solo al plug-in controllo del codice sorgente. Viene chiamato quando l'utente è:

  • creare un nuovo progetto

  • Aggiunta di un progetto esistente al controllo della versione

  • Tentare di individuare un progetto esistente del controllo della versione

SCCRTN SccGetProjPath (
   LPVOID pvContext,
   HWND   hWnd,
   LPSTR  lpUser,
   LPSTR  lpProjName,
   LPSTR  lpLocalPath,
   LPSTR  lpAuxProjPath,
   BOOL   bAllowChangePath,
   LPBOOL pbNew
);

Parametri

  • pvContext
    [in] La struttura del contesto di plug-in controllo del codice sorgente.

  • hWnd
    [in] Un handle di finestra IDE che il plug-in controllo del codice sorgente possibile utilizzare come padre di tutte le finestre di dialogo che garantiscono.

  • lpUser
    [in, out] Il nome utente (non superare SCC_USER_SIZE, incluso il carattere di terminazione null)

  • lpProjName
    [in, out] Il nome del progetto dell'IDE, dell'area di lavoro del progetto, o di makefile (non superare SCC_PRJPATH_SIZE, incluso il carattere di terminazione null).

  • lpLocalPath
    [in, out] Il percorso di lavoro del progetto. Se bAllowChangePath è TRUE, il plug-in controllo del codice sorgente possibile modificare questa stringa (non superare _MAX_PATH, incluso il carattere di terminazione null).

  • lpAuxProjPath
    [in, out] Un buffer per il percorso del progetto restituito (non superare SCC_PRJPATH_SIZE, incluso il carattere di terminazione null).

  • bAllowChangePath
    [in] Se questo è TRUE, il plug-in controllo del codice sorgente può richiedere e modificare la stringa di lpLocalPath .

  • pbNew
    [in, out] Il valore che ottiene indica se creare un nuovo progetto. Il valore restituito indica l'esito positivo di creare un progetto:

    in ingresso

    interpretazione

    TRUE

    l'utente può creare un nuovo progetto.

    FALSE

    l'utente non può creare un nuovo progetto.

    in uscita

    interpretazione

    TRUE

    un nuovo progetto è stato creato.

    FALSE

    Un progetto esistente selezionata.

Valore restituito

L'implementazione di plug-in controllo del codice sorgente di questa funzione è previsto che restituisca uno dei seguenti valori:

Valore

Descrizione

SCC_OK

Il progetto è stato creato correttamente o recuperato stato.

SCC_I_OPERATIONCANCELED

L'operazione è stata annullata.

SCC_E_ACCESSFAILURE

Si è verificato un problema che accede al sistema di controllo del codice sorgente, probabilmente a causa di problemi di conflitto o della rete.

SCC_E_CONNECTIONFAILURE

Si è verificato un problema che tenta di connettersi al sistema di controllo del codice sorgente.

SCC_E_NONSPECIFICERROR

Si è verificato un errore non specificato.

Note

Lo scopo di questa funzione prevede che l'ide acquisti i parametri lpProjName e lpAuxProjPath. Dopo che il plug-in controllo del codice sorgente richiede tali informazioni, passarvi queste due stringhe di nuovo all'IDE. L'ide mantiene queste stringhe nel file di soluzione e le passa a Funzione SccOpenProject ogni volta che l'utente apre il progetto. Queste stringhe consentono al plug-in per tenere traccia delle informazioni associate a un progetto.

Quando la funzione viene chiamata, lpAuxProjPath viene impostato su una stringa vuota. lProjName può essere vuoto, oppure può contenere il nome del progetto dell'IDE, che il plug-in controllo del codice sorgente possibile utilizzare o ignorare. Quando di funzione restituisce correttamente, il plug-in restituisce le due stringhe corrispondenti. L'ide non fa distinzione tra queste stringhe, non le utilizzerà e che non consente all'utente di modificare. Se l'utente desidera modificare le impostazioni, l'ide chiamerà ancora SccGetProjPath , passando gli stessi valori che ha ricevuto il tempo precedente. In questo modo il controllo completo plug-in a queste due stringhe.

Per lpUser, l'ide possibile passare un nome utente, oppure per passare semplicemente in un puntatore a una stringa vuota. Se c " è un nome utente, il plug-in controllo del codice sorgente deve utilizzarlo come impostazione predefinita. Tuttavia, se nessun nome è stato superato o se l'accesso non riesce con il nome specificato, il plug-in deve richiedere all'utente un accesso e passare il nome indietro in lpUser quando riceve un accesso valido. Poiché il plug-in possibile modificare questa stringa, l'ide allocherà sempre un buffer di dimensione (SCC_USER_LEN+1).

Nota

La prima azione che l'ide esegue può essere una chiamata alla funzione di SccOpenProject o alla funzione di SccGetProjPath .Pertanto, entrambi dispongono di un parametro identico di lpUser , che consente al plug-in controllo del codice sorgente per associare l'utente a qualsiasi momento.Anche se il valore restituito dalla funzione indica un errore, il plug-in deve soddisfare questa stringa del nome di accesso valido.

lpLocalPath è la directory in cui l'utente tiene il progetto. può essere una stringa vuota. Se non c " è attualmente directory definita (come nel caso di un utente che tenta di scaricare un progetto dal sistema di controllo del codice sorgente) e se bAllowChangePath è TRUE, il plug-in controllo del codice sorgente possibile richiedere all'utente input o utilizzare un altro metodo per inserire la propria stringa in lpLocalPath. Se bAllowChangePath è FALSE, il plug-in non deve modificare la stringa, perché l'utente sta già impostata la directory specificata.

Se l'utente crea un nuovo progetto sia inserito nel controllo del codice sorgente, il plug-in controllo del codice sorgente non è effettivamente crearlo nel sistema di controllo del codice sorgente per SccGetProjPath viene chiamato. Invece, torna alla stringa con un valore diverso da zero per pbNew, per indicare che il progetto verrà creato nel sistema di controllo del codice sorgente.

Ad esempio, se un utente nella procedura guidata di nuovo progetto in Visual Studio aggiunge il progetto al controllo del codice sorgente, le chiamate di Visual Studio questa funzione e il plug-in determina se è corretto creare un nuovo progetto nel sistema di controllo del codice sorgente contenente il progetto di Visual Studio. Se l'utente fa clic su Annulla prima del completamento della procedura guidata, il progetto non viene creata mai. Se l'utente fa clic su OK, in Visual Studio viene chiamato SccOpenProject, passando SCC_OPT_CREATEIFNEWe il progetto selezionato database di origine viene creato in quel momento.

Vedere anche

Riferimenti

Funzione SccOpenProject

Concetti

Funzioni API del plug-in del controllo del codice sorgente