Funzione SccCreateSubProject
Questa funzione crea un sottoprogetto con il nome specificato nel contesto di un progetto padre esistente specificato dall'argomento di lpParentProjPath .
SCCRTN SccCreateSubProject(
LPVOID pContext,
HWND hWnd,
LPSTR lpUser,
LPCSTR lpParentProjPath,
LPCSTR lpSubProjName,
LPSTR lpAuxProjPath,
LPSTR lpSubProjPath
);
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).lpParentProjPath
[in] Una stringa che identifica il percorso del progetto padre (fino a SCC_PRJPATH_SIZE, incluso il carattere di terminazione null).lpSubProjName
[in] Il nome suggerito di sottoprogetto (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).lpSubProjPath
[in, out] Stringa di output che identifica il percorso del sottoprogetto (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 sottoprogetto è stato creato correttamente. |
SCC_E_INITIALIZEFAILED |
Il progetto padre non può essere inizializzato. |
SCC_E_INVALIDUSER |
L'utente non può accedere al sistema di controllo del codice sorgente. |
SCC_E_COULDNOTCREATEPROJECT |
Il sottoprogetto non può essere creato. |
SCC_E_PROJSYNTAXERR |
sintassi non valida di progetto. |
SCC_E_UNKNOWNPROJECT |
Il progetto padre è 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_CONNECTIONFAILURE |
Si è verificato un problema di connessione di plug-in controllo del codice sorgente. |
SCC_E_NONSPECIFICERROR SCC_E_UNKNOWNERROR |
errore non specifico. |
Note
Se un sottoprogetto con il nome esiste già, la funzione può modificare il nome predefinito per creare univoco, ad esempio aggiungendo “_ <numero> „ in. Il chiamante deve essere preparato accettare le modifiche a lpUser, a lpSubProjPathe a lpAuxProjPath. Gli argomenti dilpAuxProjPath e di lpSubProjPath viene utilizzato in una chiamata a Funzione SccOpenProject. Non devono essere modificati dal chiamante da restituire. Queste stringhe forniscono una modalità per il plug-in controllo del codice sorgente a informazioni di traccia che deve associare a un progetto. L'ide del chiamante non vengono visualizzati questi due parametri da restituire, poiché il plug-in possibile utilizzare una stringa formattata che potrebbe non essere appropriata per la visualizzazione. La funzione restituisce un codice di esito positivo o negativo e, in caso negativo, inserisce lpSubProjPath variabile del percorso del progetto completo al nuovo progetto.
Questa funzione è simile a Funzione SccGetProjPath, con la differenza che crea automaticamente un progetto anziché richiedere all'utente di selezionare uno. Quando la funzione di SccCreateSubProject viene chiamata, lpParentProjName 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 o Funzione SccGetParentProjectPath.
l'argomento di lpUser è il nome utente. L'ide passa nello stesso nome utente precedentemente ha ricevuto da SccGetProjPathe 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 o SCC_USER_SIZE, che includono lo spazio per il carattere di terminazione null). 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 entrambi nuove funzioni, SccCreateSubProject e 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, SccCreateSubProject e SccGetParentProjectPath.
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.
Vedere anche
Riferimenti
Funzione SccGetParentProjectPath