Funzione SccGetParentProjectPath
Questa funzione determina il percorso del progetto padre di un progetto specifico. Questa funzione viene chiamata quando l'utente aggiunge a un progetto di Visual Studio al controllo del codice sorgente.
SCCRTN SccGetParentProjectPath(
LPVOID pContext,
HWND hWnd,
LPSTR lpUser,
LPCSTR lpProjPath,
LPSTR lpAuxProjPath,
LPSTR lpParentProjPath
);
Parametri
pContext
[in] Il puntatore di 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 (fino a SCC_USER_SIZE, incluso il carattere di terminazione null).lpProjPath
[in] Stringa che identifica il percorso del progetto (fino a SCC_PRJPATH_SIZE, incluso il carattere di terminazione null).lpAuxProjPath
[in, out] Stringa ausiliaria che identifica il progetto (fino a SCC_PRJPATH_SIZE, incluso il carattere di terminazione null).lpParentProjPath
[in, out] Stringa di output che identifica il percorso del progetto padre (fino a SCC_PRJPATH_SIZE, incluso il carattere di terminazione null).
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 percorso del progetto padre correttamente è stato ottenuto. |
SCC_E_INITIALIZEFAILED |
Il progetto non può essere inizializzato. |
SCC_E_INVALIDUSER |
L'utente non può accedere al plug-in controllo del codice sorgente. |
SCC_E_UNKNOWNPROJECT |
Il progetto è sconosciuto al plug-in controllo del codice sorgente. |
SCC_E_INVALIDFILEPATH |
Percorso di file non valido o inutilizzabile. |
SCC_E_NOTAUTHORIZED |
L'utente non è autorizzato a eseguire questa operazione. |
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. Un tentativo è consigliato. |
SCC_E_PROJSYNTAXERR |
sintassi non valida di progetto. |
SCC_E_CONNECTIONFAILURE |
Problema di connessione nell'archivio. |
SCC_E_NONSPECIFICERROR SCC_E_UNKNOWNERROR |
errore non specifico. |
Note
Questa funzione restituisce un codice di esito positivo o negativo e, in caso negativo, inserisce lpParentProjPath variabile del percorso del progetto completo del progetto specificato.
Questa funzione restituisce il percorso del progetto padre di un progetto esistente. Per il progetto radice, la funzione restituisce il percorso del progetto che è stato passato (ovvero lo stesso percorso radice del progetto). Si noti che un percorso del progetto è una stringa significativa solo al plug-in controllo del codice sorgente.
L'ide è in grado di accettare le modifiche ai parametri di lpAuxProjPath e di lpUser anche. L'ide mantiene in modo permanente queste stringhe e le passerà a Funzione SccOpenProject quando l'utente apre il progetto in futuro. Queste stringhe, pertanto, forniscono una modalità per il plug-in controllo del codice sorgente alla barra di avanzamento deve essere associato a un progetto.
Questa funzione è simile a Funzione SccGetProjPath, con la differenza che non richiede all'utente di selezionare un progetto. Inoltre non vengono mai un nuovo progetto ma funziona solo con un progetto esistente.
Quando SccGetParentProjectPath viene chiamato, lpProjPath e lpAuxProjPath non verranno vuoti e corrisponderà a un progetto valido. Queste stringhe in genere vengono ricevute dall'IDE da una chiamata precedente alla funzione di SccGetProjPath .
l'argomento di lpUser è il nome utente. L'ide passa nello stesso nome utente precedentemente ha ricevuto dalla funzione di SccGetProjPath e il plug-in controllo del codice sorgente necessario utilizzare il nome predefinito. Se l'utente dispone già di una connessione aperta con il plug-in, il plug-in deve tentare di eliminare tutte le richieste per verificare automaticamente funzionamento di funzione. Tuttavia, se l'accesso è verificato un errore, il plug-in deve richiedere all'utente un accesso e, quando riceve un accesso valido, passa il nome indietro in lpUser. Poiché il plug-in possibile modificare questa stringa, l'ide allocherà sempre un buffer di dimensione (SCC_USER_LEN+1). Se la stringa viene modificata, la nuova stringa deve essere un nome di accesso valido (almeno valido quanto la stringa precedente).
note tecniche per SccCreateSubProject e SccGetParentProjectPath
Aggiunta di progetti e soluzioni al controllo del codice sorgente è stato semplificato in Visual Studio per ridurre al minimo il numero di volte in cui un utente viene richiesto di selezionare le posizioni nel sistema di controllo del codice sorgente. Queste modifiche sono attivate da Visual Studio se un plug-in controllo del codice sorgente supporta sia nuova funzione di funzioni, Funzione SccCreateSubProject e di SccGetParentProjectPath . Tuttavia, la seguente voce del Registro di sistema può essere utilizzata per disabilitare le modifiche e per ripristinare il comportamento precedente di Visual Studio (versione 1,1 di plug-in controllo del codice sorgente API):
[=dword HKEY_CURRENT_USER \Software\Microsoft\VisualStudio\8.0\SourceControl] "DoNotCreateSolutionRootFolderInSourceControl ": 00000001
Se questa voce del Registro di sistema non esiste o è impostata su dword: 00000000, Visual Studio tenta di utilizzare le nuove funzioni, SccCreateSubProjecteSccGetParentProjectPath.
Se la voce del Registro di sistema è impostata su dword: 00000001, Visual Studio non tenta di utilizzare le nuove funzioni e le operazioni di aggiunta al lavoro del controllo del codice sorgente quanto avveniva nelle versioni precedenti di Visual Studio.