Partilhar via


Função SccAddFromScc

Esta função permite que o usuário procurar arquivos que já estão no sistema de controle de origem e depois fazer parte desses arquivos, do projeto atual. Por exemplo, esta função pode obter um arquivo de cabeçalho comuns no projeto atual sem copiar o arquivo. A matriz de devolução de arquivos, lplpFileNames, contém a lista de arquivos que o usuário deseja adicionar ao projeto do IDE.

SCCRTN SccAddFromScc (
   LPVOID   pvContext,
   HWND     hWnd,
   LPLONG   lpnFiles,
   LPCSTR** lplpFileNames
);

Parâmetros

  • pvContext
    [in] A estrutura 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.

  • lpnFiles
    [in, out] Um buffer para o número de arquivos que estão sendo adicionados no. (Isso é NULL se a memória apontado por lplpFileNames será liberada. Consulte os comentários para obter detalhes).

  • lplpFileNames
    [in, out] Uma matriz de ponteiros para todos os nomes de arquivo sem caminhos de diretório. Esta matriz é alocada e liberada pelo plug-in de controle de origem. Se lpnFiles = 1 e lplpFileNames não é NULL, o nome da matriz apontada por lplpFileNames contém a pasta de destino.

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

Os arquivos foram localizados e adicionados ao projeto com êxito.

SCC_I_OPERATIONCANCELED

A operação foi cancelada com nenhum efeito.

SCC_I_RELOADFILE

Um arquivo ou projeto precisa ser recarregado.

Comentários

O IDE chama essa função. Se o plug-in de controle de origem suporta a especificação de uma pasta de destino local, o IDE passa lpnFiles = 1 e passa o nome da pasta local em lplpFileNames.

Quando a chamada para o SccAddFromScc função retorna, o plug-in atribuiu valores a lpnFiles e lplpFileNames, alocação de memória para a matriz de nome de arquivo conforme necessário (Observe que essa alocação substitui o ponteiro na lplpFileNames). O plug-in de controle de origem é responsável por colocar todos os arquivos no diretório do usuário ou na pasta especificada designação. Em seguida, o IDE adiciona os arquivos ao projeto do IDE.

Finalmente, o IDE chama essa função uma segunda vez, passando NULL para lpnFiles. Isso é interpretado como um sinal especial pelo controle plug-in para liberar a memória alocada para a matriz de nome de arquivo na origemlplpFileNames.

lplpFileNamesé um char *** ponteiro. O plug-in de controle de origem coloca um ponteiro para uma matriz de ponteiros para os nomes de arquivo, passando a lista, assim, a forma padrão para esta API.

Dica

As versões iniciais da API VSSCI não forneceu um meio para indicar o projeto de destino para os arquivos adicionados.Para acomodar isso, a semântica do lplpFIleNames parâmetro foram aprimorados para torná-lo um parâmetro de entrada/saída, em vez de um parâmetro de saída.Se apenas um único arquivo for especificado, ou seja, o valor apontada por lpnFiles = 1, então o primeiro elemento da lplpFileNames contém a pasta de destino.Para usar essa semântica de nova, as chamadas do IDE a SccSetOption funcionar com o nOptionparâmetro definido como SCC_OPT_SHARESUBPROJ.Se um plug-in de controle de origem não oferece suporte a semântica, ele retorna SCC_E_OPTNOTSUPPORTED.Fazendo afirmativo desativa o uso da Adicionar do controle de origem recurso.Se um plug-in suporta a Adicionar do controle de origem recurso (SCC_CAP_ADDFROMSCC), ele deve oferecer suporte a semântica de nova e retornar SCC_I_SHARESUBPROJOK.

Consulte também

Referência

Função SccSetOption

Conceitos

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