Partilhar via


Função SccSetOption

Essa função define opções que controlam o comportamento do plug-in de controle do código-fonte.

Sintaxe

SCCRTN SccSetOption(
   LPVOID pvContext,
   LONG   nOption,
   LONG   dwVal
);

Parâmetros

pvContext

[em] A estrutura de contexto do plug-in de controle do código-fonte.

Opção

[em] A opção que está sendo definida.

dwVal

[em] Configurações para a opção.

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 A opção foi definida com sucesso.
SCC_I_SHARESUBPROJOK Retornado if nOption was SCC_OPT_SHARESUBPROJ e o plug-in de controle do código-fonte permite que o IDE defina a pasta de destino.
SCC_E_OPNOTSUPPORTED A opção não foi definida e não deve ser invocada.

Comentários

O IDE chama essa função para controlar o comportamento do plug-in de controle do código-fonte. O primeiro parâmetro, nOption, indica o valor que está sendo definido, enquanto o segundo, dwVal, indica o que fazer com esse valor. O plug-in armazena essas informações associadas a um pvContext``, portanto, o IDE deve chamar essa função depois de chamar o SccInitialize (mas não necessariamente após cada chamada para o SccOpenProject).

Resumo das opções e seus valores:

nOption dwValue Descrição
SCC_OPT_EVENTQUEUE SCC_OPT_EQ_DISABLE

SCC_OPT_EQ_ENABLE
Habilita/desabilita o enfileiramento de eventos em segundo plano.
SCC_OPT_USERDATA Valor arbitrário Especifica um valor de usuário a ser passado para a função de retorno de chamada OPTNAMECHANGEPFN .
SCC_OPT_HASCANCELMODE SCC_OPT_HCM_NO

SCC_OPT_HCM_YES
Indica se o IDE atualmente suporta o cancelamento de uma operação.
SCC_OPT_NAMECHANGEPFN Ponteiro para a função de retorno de chamada OPTNAMECHANGEPFN Define um ponteiro para uma função de retorno de chamada de alteração de nome.
SCC_OPT_SCCCHECKOUTONLY SCC_OPT_SCO_NO

SCC_OPT_SCO_YES
Indica se o IDE permite o check-out de seus arquivos manualmente (por meio da interface do usuário de controle do código-fonte) ou se eles devem ser verificados somente por meio do plug-in de controle do código-fonte.
SCC_OPT_SHARESUBPROJ N/D Se o plug-in de controle do código-fonte permitir que o IDE especifique a pasta do projeto local, o plug-in retornará SCC_I_SHARESUBPROJOK.

SCC_OPT_EVENTQUEUE

Se nOption for SCC_OPT_EVENTQUEUE, o IDE está desabilitando (ou reativando) o processamento em segundo plano. Por exemplo, durante uma compilação, o IDE pode instruir o plug-in de controle do código-fonte a interromper o processamento ocioso de qualquer tipo. Após a compilação, ele reabilitaria o processamento em segundo plano para manter a fila de eventos do plug-in atualizada. Correspondendo ao SCC_OPT_EVENTQUEUE valor de nOption, existem dois valores possíveis para dwVal, ou seja, SCC_OPT_EQ_ENABLE e SCC_OPT_EQ_DISABLE.

SCC_OPT_HASCANCELMODE

Se o valor for nOption SCC_OPT_HASCANCELMODE, o IDE permitirá que os usuários cancelem operações longas. A configuração dwVal como SCC_OPT_HCM_NO (o padrão) indica que o IDE não tem modo de cancelamento. O plug-in de controle do código-fonte deve oferecer seu próprio botão Cancelar se quiser que o usuário possa cancelar. SCC_OPT_HCM_YES indica que o IDE fornece a capacidade de cancelar uma operação, de modo que o plug-in SCC não precise exibir seu próprio botão Cancelar. Se o IDE for definido dwVal como , ele estará preparado para responder e DOCANCEL SCC_MSG_STATUS enviar mensagens para a função de retorno de lpTextOutProc chamada (consulte LPTEXTOUTPROC).SCC_OPT_HCM_YES Se o IDE não definir essa variável, o plug-in não deverá enviar essas duas mensagens.

SCC_OPT_NAMECHANGEPFN

Se nOption estiver definido como SCC_OPT_NAMECHANGEPFN, e o plug-in de controle do código-fonte e o IDE permitirem, o plug-in poderá renomear ou mover um arquivo durante uma operação de controle do código-fonte. O dwVal será definido como um ponteiro de função do tipo OPTNAMECHANGEPFN. Durante uma operação de controle do código-fonte, o plug-in pode chamar essa função, passando três parâmetros. Estes são o nome antigo (com caminho totalmente qualificado) de um arquivo, o novo nome (com caminho totalmente qualificado) desse arquivo e um ponteiro para informações que têm relevância para o IDE. O IDE envia esse último ponteiro chamando SccSetOption with nOption set to SCC_OPT_USERDATA, com dwVal apontando para os dados. O suporte para esta função é opcional. Um plug-in VSSCI que usa essa capacidade deve inicializar seu ponteiro de função e variáveis de dados do usuário para NULL, e não deve chamar uma função de renomeação, a menos que tenha recebido uma. Ele também deve estar preparado para manter o valor que lhe foi dado ou alterá-lo em resposta a uma nova chamada para SccSetOption. Isso não acontecerá no meio de uma operação de comando de controle do código-fonte, mas pode acontecer entre comandos.

SCC_OPT_SCCCHECKOUTONLY

Se nOption estiver definido como SCC_OPT_SCCCHECKOUTONLY, o IDE está indicando que os arquivos no projeto aberto no momento nunca devem ser verificados manualmente por meio da interface do usuário do sistema de controle do código-fonte. Em vez disso, os arquivos devem ser verificados somente por meio do plug-in de controle do código-fonte no controle IDE. Se dwValue estiver definido como SCC_OPT_SCO_NO, significa que os arquivos devem ser tratados normalmente pelo plug-in e podem ser verificados por meio da interface do usuário de controle do código-fonte. Se dwValue estiver definido como SCC_OPT_SCO_YES, somente o plug-in terá permissão para fazer check-out de arquivos e a interface do usuário do sistema de controle do código-fonte não deverá ser chamada. Isso é para situações em que o IDE pode ter "pseudo-arquivos" que fazem sentido fazer check-out somente por meio do IDE.

SCC_OPT_SHARESUBPROJ

Se nOption estiver definido como SCC_OPT_SHARESUBPROJ, o IDE está testando se o plug-in de controle do código-fonte pode usar uma pasta local especificada ao adicionar arquivos do controle do código-fonte. O valor do dwVal parâmetro não importa neste caso. Se o plug-in permitir que o IDE especifique a pasta de destino local onde os arquivos serão adicionados do controle do código-fonte quando o SccAddFromScc for chamado, o plug-in deverá retornar SCC_I_SHARESUBPROJOK quando a SccSetOption função for chamada. O IDE usa o lplpFileNames SccAddFromScc parâmetro da função para passar a pasta de destino. O plug-in usa essa pasta de destino para colocar os arquivos adicionados do controle do código-fonte. Se o plug-in não retornar SCC_I_SHARESUBPROJOK quando a SCC_OPT_SHARESUBPROJ opção for definida, o IDE assumirá que o plug-in é capaz de adicionar arquivos somente na pasta local atual.

Confira também