Função SccSetOption
Essa função define opções que controlam o comportamento do plug-in de controle de origem.
SCCRTN SccSetOption(
LPVOID pvContext,
LONG nOption,
LONG dwVal
);
Parâmetros
pvContext
[in] A estrutura de contexto plug-in de controle de origem.nOption
[in] A opção que está sendo definida.dwVal
[in] Configurações para a opção.
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 |
A opção foi definida com êxito. |
SCC_I_SHARESUBPROJOK |
Retornado se nOption foi SCC_OPT_SHARESUBPROJ e o plug-in de controle de origem permite que o IDE definir a pasta de destino. |
SCC_E_OPNOTSUPPORTED |
A opção não foi definida e não deve ser considerada. |
Comentários
O IDE chama esta função para controlar o comportamento do plug-in de controle de origem. 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 com um pvContext, para que o IDE deve chamar essa função após chamar o Função SccInitialize (mas não necessariamente após cada chamada para o Função SccOpenProject).
Resumo das opções e seus valores:
nOption |
dwValue |
Descrição |
---|---|---|
SCC_OPT_EVENTQUEUE |
SCC_OPT_EQ_DISABLE SCC_OPT_EQ_ENABLE |
Ativa/desativa o plano de fundo de enfileiramento de mensagens de evento. |
SCC_OPT_USERDATA |
Valor arbitrário |
Especifica um valor de usuário a serem passados para o OPTNAMECHANGEPFN a função de retorno de chamada. |
SCC_OPT_HASCANCELMODE |
SCC_OPT_HCM_NO SCC_OPT_HCM_YES |
Indica se o IDE suporta atualmente cancelar uma operação. |
SCC_OPT_NAMECHANGEPFN |
Ponteiro para o OPTNAMECHANGEPFN a função de retorno de chamada |
Define um ponteiro para uma função de retorno de chamada de mudança de nome. |
SCC_OPT_SCCCHECKOUTONLY |
SCC_OPT_SCO_NO SCC_OPT_SCO_YES |
Indica se o IDE permite a verificação de seus arquivos manualmente (através da interface de usuário de controle de origem) ou se eles devem fazer check-out somente através de plug-in de controle de origem. |
SCC_OPT_SHARESUBPROJ |
N/A |
Se o plug-in de controle de origem permite que o IDE especificar a pasta de projeto local, o plug-in retorna SCC_I_SHARESUBPROJOK. |
SCC_OPT_EVENTQUEUE
Se nOption é SCC_OPT_EVENTQUEUE, o IDE desabilitar (ou reabilitar) processamento em segundo plano. Por exemplo, durante a compilação, o IDE pode instruir o plug-in para interromper o processamento ocioso em qualquer tipo de controle de origem. Após a compilação, ele seria reabilitar o processamento em segundo plano para manter fila de eventos do plug-in. Correspondente a 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 de nOption é SCC_OPT_HASCANCELMODE, o IDE permite que os usuários cancelar operações longas. Definindo dwVal para SCC_OPT_HCM_NO (padrão) indica que o IDE não tem nenhum modo de cancelar. O plug-in de controle de origem deve oferecer seu próprio botão Cancelar se deseja que o usuário seja capaz de cancelar. SCC_OPT_HCM_YESindica que o IDE fornece a capacidade de cancelar uma operação, o SCC plug-in não necessário exibir seu próprio botão Cancelar. Se o IDE define dwVal para SCC_OPT_HCM_YES, está preparado para responder a SCC_MSG_STATUS e DOCANCEL mensagens enviadas para o lpTextOutProc a função de retorno de chamada (consulte LPTEXTOUTPROC). Se o IDE não definir essa variável, o plug-in não deve enviar essas duas mensagens.
SCC_OPT_NAMECHANGEPFN
Se nOption for definido como SCC_OPT_NAMECHANGEPFNe de origem permitirem controle plug-in e o IDE, o plug-in pode realmente renomear ou mover um arquivo durante uma operação de controle de origem. O dwVal será definido como um ponteiro de função do tipo OPTNAMECHANGEPFN. Durante uma operação de controle de origem, o plug-in pode chamar esta função, passando três parâmetros. Esses são o nome antigo (com o caminho totalmente qualificado) de um arquivo, o novo nome (com o caminho totalmente qualificado) do arquivo e um ponteiro para informações que tem relevância para o IDE. O IDE envia este último ponteiro chamando SccSetOption com nOption definido como SCC_OPT_USERDATA, com dwVal apontando para os dados. Suporte para essa função é opcional. Plugue VSSCI-que usa essa capacidade deve inicializar suas função ponteiro variáveis de usuário e dados para NULL, e não deve chamar uma função de renomear a menos que ele tem um. Ele também deve estar preparado para manter o valor foi fornecido 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 de origem, mas pode acontecer entre comandos.
SCC_OPT_SCCCHECKOUTONLY
Se nOption for definido como SCC_OPT_SCCCHECKOUTONLY, o IDE está indicando que os arquivos no projeto aberto atualmente devem nunca ser retirados manualmente através da interface de usuário do sistema de controle de origem. Em vez disso, os arquivos devem ser retirados apenas através do controle de origem plug-in no controle de IDE. Se dwValue é definido como SCC_OPT_SCO_NO, significa que os arquivos devem ser tratados normalmente pelo plug-in e podem ser verificados por meio do controle de origem da interface do usuário. Se dwValue é definido como SCC_OPT_SCO_YES, em seguida, somente o plug-in é permitido fazer check-out de arquivos e interface do usuário do sistema de controle de origem não deve ser chamado. Isso é para situações onde o IDE pode ter "pseudo-files", fazem sentido fazer check-out somente por meio do IDE.
SCC_OPT_SHARESUBPROJ
SenOption é definido como SCC_OPT_SHARESUBPROJ, o IDE está testando se o plug-in de controle de origem pode usar uma pasta local especificada ao adicionar arquivos de controle de origem. O valor de dwVal parâmetro não importa nesse caso. Se o plug-in permite que o IDE especificar a pasta de destino local onde os arquivos serão adicionados de origem controlar quando o Função SccAddFromScc é chamado, o plug-in deve retornar SCC_I_SHARESUBPROJOK quando a SccSetOption função é chamada. O IDE usa o lplpFileNames parâmetro de SccAddFromScc função passar a pasta de destino. O plug-in usa essa pasta de destino para colocar os arquivos adicionados de controle de origem. Se o plug-in não retornar SCC_I_SHARESUBPROJOK quando a SCC_OPT_SHARESUBPROJ opção é definida, o IDE assume que o plug-in é capaz de adicionar arquivos apenas na pasta local atual.