Partilhar via


Função SccGetCommandOptions

Esta função solicita ao usuário para opções avançadas para um determinado comando.

SCCRTN SccGetCommandOptions(
   LPVOID pvContext,
   HWND hWnd,
   enum SCCCOMMAND iCommand,
   LPCMDOPTS* ppvOptions
);

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.

  • iCommand
    [in] O comando para as quais opções avançadas são solicitadas (consulte Enumerador de código de comando para obter valores possíveis).

  • ppvOptions
    [in] A estrutura de opção (também pode ser 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

Sucesso.

SCC_I_ADV_SUPPORT

O plug-in de controle de origem oferece suporte a opções avançadas para o comando.

SCC_I_OPERATIONCANCELED

O usuário cancelou o origem controle do plug-in Opções caixa de diálogo.

SCC_E_OPTNOTSUPPORTED

O plug-in de controle de origem não oferece suporte para esta operação.

SCC_E_ISCHECKEDOUT

Não é possível realizar esta operação em um arquivo que está sendo verificado.

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_NONSPECIFICERROR

Falha de não-específica.

Comentários

O IDE chama essa função pela primeira vez com ppvOptions=NULL para determinar se o plug-in de controle de origem suporta o recurso de opções avançadas para o comando especificado. Se o plug-in oferece suporte ao recurso para esse comando, o IDE chama essa função novamente quando o usuário solicita a opções avançadas (geralmente é implementado como um Advanced botão em uma caixa de diálogo) e fornece um ponteiro não nula para ppvOptions que aponta para um NULL ponteiro. O plug-in armazena qualquer opção avançada especificada pelo usuário em uma estrutura particular e retorna um ponteiro para essa estrutura na ppvOptions. Essa estrutura é então passada para todas as outras funções de API de plug-in de controle de origem que precisa saber sobre ele, inclusive as chamadas subseqüentes para o SccGetCommandOptions função.

Um exemplo pode ajudar a esclarecer essa situação.

Um usuário escolhe o obter comando e o IDE exibe um obter caixa de diálogo. The IDE calls the SccGetCommandOptions function with iCommand set to SCC_COMMAND_GET and ppvOptions set to NULL. Isso é interpretado pelo controle da fonte de plug-in como a pergunta, "Você tem qualquer opção avançada para este comando?" Se o plug-in retorna SCC_I_ADV_SUPPORT, o IDE exibe um Advanced botão no seu obter caixa de diálogo.

Na primeira vez que o usuário clica o Advanced botão, o IDE chama novamente o SccGetCommandOptions funcionar, dessa vez com um não-NULLppvOptions que aponta para um NULL ponteiro. O plug-in exibe sua própria Get Options caixa de diálogo, solicita ao usuário para obter informações, coloca essas informações em sua própria estrutura e retorna um ponteiro para essa estrutura na ppvOptions.

Se o usuário clicar em Advanced novamente na mesma caixa de diálogo, o IDE chama o SccGetCommandOptions função novamente sem alterar ppvOptions, de modo que a estrutura é passada para o plug-in. Isso permite que o plug-in reinicializar a sua caixa de diálogo para os valores que o usuário tiver sido definida anteriormente. O plug-in modifica a estrutura no lugar antes de retornar.

Finalmente, quando o usuário clica OK em que o IDE obter caixa de diálogo, as chamadas do IDE a Função SccGet, passando a estrutura retornada em ppvOptions que contém as opções avançadas.

Dica

O comando SCC_COMMAND_OPTIONS é usado quando o IDE exibe um Opções caixa de diálogo que permite ao usuário definir preferências que controlam como a integração funciona.Se quiser que o plug-in de controle de origem fornecer sua própria caixa de diálogo Preferências, ele poderá exibi-la de um Advanced botão na caixa de diálogo Preferências do IDE.O plug-in é exclusivamente responsável por obter e persistência esta informação. o IDE não usá-lo ou modificá-lo.

Consulte também

Referência

Enumerador de código de comando

Conceitos

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