Função SccPopulateList
Essa função atualiza uma lista de arquivos para um determinado comando de controle do código-fonte e fornece o status do controle do código-fonte em todos os arquivos fornecidos.
Sintaxe
SCCRTN SccPopulateList (
LPVOID pvContext,
enum SCCCOMMAND nCommand,
LONG nFiles,
LPCSTR* lpFileNames,
POPLISTFUNC pfnPopulate,
LPVOID pvCallerData,
LPLONG lpStatus,
LONG fOptions
);
Parâmetros
pvContexto
[em] A estrutura de contexto do plug-in de controle do código-fonte.
nCommand
[em] O comando de controle do código-fonte que será aplicado a todos os arquivos na lpFileNames
matriz (consulte Código de comando para obter uma lista de comandos possíveis).
nArquivos
[em] Número de arquivos na lpFileNames
matriz.
lpFileNames
[em] Uma matriz de nomes de arquivo conhecidos pelo IDE.
pfnPopulate
[em] A função de retorno de chamada do IDE para chamar para adicionar e remover arquivos (consulte POPLISTFUNC para obter detalhes).
pvCallerData
[em] Valor que deve ser passado inalterado para a função de retorno de chamada.
lpStatus
[dentro, fora] Uma matriz para o plug-in de controle do código-fonte para retornar os sinalizadores de status para cada arquivo.
fOpções
[em] Sinalizadores de comando (consulte a seção "PopulateList flag" de Bitflags usados por comandos específicos para obter detalhes).
Valor de retorno
Espera-se que a implementação do plug-in de controle do código-fonte dessa função retorne um dos seguintes valores:
Valor | Descrição |
---|---|
SCC_OK | Êxito. |
SCC_E_NONSPECIFICERROR | Falha inespecífica. |
Comentários
Essa função examina a lista de arquivos para seu status atual. Ele usa a pfnPopulate
função de retorno de chamada para notificar o chamador quando um arquivo não corresponde aos critérios do nCommand
. Por exemplo, se o comando for e não for SCC_COMMAND_CHECKIN
feito check-out de um arquivo na lista, o retorno de chamada será usado para informar o chamador. Ocasionalmente, o plug-in de controle do código-fonte pode encontrar outros arquivos que poderiam fazer parte do comando e adicioná-los. Isso permite, por exemplo, que um usuário do Visual Basic faça check-out de um arquivo de .bmp que é usado por seu projeto, mas não aparece no arquivo de projeto do Visual Basic. Um usuário escolhe o comando Get no IDE. O IDE exibirá uma lista de todos os arquivos que ele acha que o usuário pode obter, mas antes que a lista seja mostrada, a função é chamada para garantir que a lista a SccPopulateList
ser exibida esteja atualizada.
Exemplo
O IDE cria uma lista de arquivos que ele acha que o usuário pode obter. Antes de exibir essa lista, ele chama a função, dando ao plug-in de controle do código-fonte a SccPopulateList
oportunidade de adicionar e excluir arquivos da lista. O plug-in modifica a lista chamando a função de retorno de chamada fornecida (consulte POPLISTFUNC para obter mais detalhes).
O plug-in continua a chamar a pfnPopulate
função, que adiciona e exclui arquivos, até que seja concluída e, em seguida, retorna da SccPopulateList
função. O IDE pode então exibir sua lista. A lpStatus
matriz representa todos os arquivos na lista original passados pelo IDE. O plug-in preenche o status de todos esses arquivos, além de fazer uso da função de retorno de chamada.
Observação
Um plug-in de controle de origem sempre tem a opção de simplesmente retornar imediatamente dessa função, deixando a lista como está. Se um plug-in implementar essa função, ele poderá indicar isso definindo o bitflag de capacidade na primeira chamada para o SCC_CAP_POPULATELIST
SccInitialize. Por padrão, o plug-in deve sempre assumir que todos os itens que estão sendo passados são arquivos. No entanto, se o IDE definir o SCC_PL_DIR
sinalizador no fOptions
parâmetro, todos os itens que estão sendo passados serão considerados diretórios. O plug-in deve adicionar todos os arquivos que pertencem aos diretórios. O IDE nunca passará em uma mistura de arquivos e diretórios.