Partilhar via


Função SccGetParentProjectPath

Esta função determina o caminho do projeto pai de um projeto especificado. Esta função é chamada quando o usuário está adicionando um projeto de Visual Studio ao controle de origem.

SCCRTN SccGetParentProjectPath(
   LPVOID pContext,
   HWND   hWnd,
   LPSTR  lpUser,
   LPCSTR lpProjPath,
   LPSTR  lpAuxProjPath,
   LPSTR  lpParentProjPath
);

Parâmetros

  • pContext
    [in] O ponteiro de contexto de plug-in de controle de origem.

  • hWnd
    [in] Um identificador para a janela do IDE que o plug-in de controle de origem pode usar como um pai para as caixas de diálogo que ele fornece.

  • lpUser
    [in, out] O nome de usuário (até a SCC_USER_SIZE, incluindo o terminador NULL).

  • lpProjPath
    [in] A seqüência de caracteres identificando o caminho do projeto (até a SCC_PRJPATH_SIZE, incluindo o terminador NULL).

  • lpAuxProjPath
    [in, out] Auxiliar seqüência que identifica o projeto (até a SCC_PRJPATH_SIZE, incluindo o terminador NULL).

  • lpParentProjPath
    [in, out] Seqüência de saída que identifica o caminho do projeto pai (até a SCC_PRJPATH_SIZE, incluindo o terminador NULL).

Valor de retorno

A implementação de plug-in de controle de origem dessa função deve retornar um dos seguintes valores:

Valor

Descrição

SCC_OK

Caminho do projeto pai foi obtido com êxito.

SCC_E_INITIALIZEFAILED

Não foi possível inicializar o projeto.

SCC_E_INVALIDUSER

O usuário não pôde fazer logon plug-in de controle de origem.

SCC_E_UNKNOWNPROJECT

Projeto é desconhecido para o plug-in de controle de origem.

SCC_E_INVALIDFILEPATH

Caminho de arquivo inválido ou inutilizável.

SCC_E_NOTAUTHORIZED

O usuário não tem permissão para executar esta operação.

SCC_E_ACCESSFAILURE

Houve um problema ao acessar o sistema de controle de origem, provavelmente devido a problemas de rede ou contenção. Recomenda-se uma nova tentativa.

SCC_E_PROJSYNTAXERR

Sintaxe de projeto inválido.

SCC_E_CONNECTIONFAILURE

Armazenar o problema de conexão.

SCC_E_NONSPECIFICERROR

SCC_E_UNKNOWNERROR

Falha de não-específica.

Comentários

Esta função retorna um código de êxito ou falha e, se for bem-sucedido, preenche a variável lpParentProjPath com o caminho de projeto completo para o projeto especificado.

Esta função retorna o pai de caminho do projeto de um projeto existente. Para o projeto raiz, a função retorna o caminho do projeto que foi passado (ou seja, o mesmo projeto caminho raiz). Observe que um caminho de projeto é uma string que é significativa apenas para o plug-in de controle de origem.

O IDE está preparado para aceitar as alterações a lpUser e lpAuxProjPath também os parâmetros. O IDE irá persistir essas cadeias de caracteres e passá-las para o Função SccOpenProject quando o usuário abre este projeto no futuro. Essas cadeias de caracteres, portanto, fornecem uma maneira para o plug-in para informações de controle necessárias para associar um projeto de controle de origem.

Esta função é semelhante a Função SccGetProjPath, exceto que ele não solicita ao usuário selecionar um projeto. Ele também nunca cria um novo projeto, mas funciona somente com um projeto existente.

Quando SccGetParentProjectPath é chamado, lpProjPath e lpAuxProjPath não estará vazio e irá corresponder a um projeto válido. Essas cadeias de caracteres geralmente são recebidas pelo IDE a partir de uma chamada anterior a SccGetProjPath função.

O lpUser argumento é o nome de usuário. O IDE transmitirá o mesmo nome de usuário que anteriormente tinha recebiam o SccGetProjPath função e o plug-in de controle de origem devem usar o nome como padrão. Se o usuário já tiver uma conexão aberta com o plug-in, em seguida, o plug-in deve tentar eliminar quaisquer avisos para certificar-se de que a função funciona silenciosamente. No entanto, se o logon falhar, o plug-in deve solicitar ao usuário para um logon e, quando ele recebe um login válido, a passagem de volta o nome lpUser. Como o plug-in pode alterar essa seqüência de caracteres, o IDE sempre será alocar um buffer de tamanho (SCC_USER_LEN+ 1). Se a seqüência de caracteres for alterada, a nova seqüência deve ser um nome de login válido (pelo menos tão válido como a seqüência de caracteres antiga).

Notas técnicas para SccCreateSubProject e SccGetParentProjectPath

A adição de soluções e projetos ao controle de origem foi simplificada no Visual Studio para minimizar o número de vezes que um usuário é solicitado a selecionar os locais no sistema de controle de origem. Essas alterações são ativadas por Visual Studio se um plug-in de controle de fonte oferece suporte a ambas as novas funções, o Função SccCreateSubProject e o SccGetParentProjectPath função. No entanto, a seguinte entrada do Registro pode ser usada para desativar essas alterações e reverter para o comportamento anterior de Visual Studio (Source Control plug-in API versão 1.1):

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\SourceControl] "DoNotCreateSolutionRootFolderInSourceControl" = DWORD: 00000001

Se essa entrada do registro não existir ou estiver definida para DWORD: 00000000, o Visual Studio tenta usar as novas funções, SccCreateSubProjecteSccGetParentProjectPath.

Se a entrada do registro estiver definida para DWORD: 00000001, Visual Studio não tenta usar essas novas funções e as operações de adição ao controle de origem funcionam como faziam em versões anteriores do Visual Studio.

Consulte também

Referência

Função SccCreateSubProject

Função SccGetProjPath

Conceitos

Funções de API plug-in de controle de origem