Função SccInitialize

Essa função inicializa o plug-in de controle do código-fonte e fornece recursos e limites para o ambiente de desenvolvimento integrado (IDE).

Sintaxe

SCCRTN SccInitialize (
   LPVOID* ppvContext,
   HWND    hWnd,
   LPCSTR  lpCallerName,
   LPSTR   lpSccName,
   LPLONG  lpSccCaps,
   LPSTR   lpAuxPathLabel,
   LPLONG  pnCheckoutCommentLen,
   LPLONG  pnCommentLen
);

Parâmetros

ppvContext

[em] O plug-in de controle do código-fonte pode colocar um ponteiro para sua estrutura de contexto aqui.

hWnd

[em] Um identificador para a janela do IDE que o plug-in de controle do código-fonte pode usar como pai para quaisquer caixas de diálogo que ele forneça.

lpCallerName

[em] O nome do programa que chama o plug-in de controle do código-fonte.

lpSccName

[dentro, fora] O buffer onde o plug-in de controle de origem coloca seu próprio nome (para não exceder SCC_NAME_LEN).

lpSccCaps

[saiu] Retorna os sinalizadores de capacidade do plug-in de controle do código-fonte.

lpAuxPathLabel

[dentro, fora] O buffer onde o plug-in de controle de origem coloca uma cadeia de caracteres que descreve o lpAuxProjPath parâmetro retornado pelo SccOpenProject e pelo SccGetProjPath (não excederSCC_AUXLABEL_LEN).

pnCheckoutCommentLen

[saiu] Retorna o comprimento máximo permitido para um comentário de check-out.

pnCommentLen

[saiu] Retorna o comprimento máximo permitido para outros comentários.

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 inicialização do controle do código-fonte foi bem-sucedida.
SCC_E_INITIALIZEFAILED Não foi possível inicializar o sistema.
SCC_E_NOTAUTHORIZED O usuário não tem permissão para executar a operação especificada.
SCC_E_NONSPECFICERROR Falha inespecífica; O sistema de controle do código-fonte não foi inicializado.

Comentários

O IDE chama essa função quando carrega pela primeira vez o plug-in de controle do código-fonte. Ele permite que o IDE passe determinadas informações, como o nome do chamador, para o plug-in. O IDE também recebe de volta certas informações, como o comprimento máximo permitido para comentários e os recursos do plug-in.

Os ppvContext pontos para um NULL ponteiro. O plug-in de controle do código-fonte pode alocar uma estrutura para seu próprio uso e armazenar um ponteiro para essa estrutura no ppvContext. O IDE passará esse ponteiro para todas as outras funções da API VSSCI, permitindo que o plug-in tenha informações de contexto disponíveis sem recorrer ao armazenamento global e ofereça suporte a várias instâncias do plug-in. Essa estrutura deve ser desalocada quando o SccUninitialize é chamado.

Os lpCallerName parâmetros e permitem que o IDE e lpSccName o plug-in de controle do código-fonte troquem nomes. Esses nomes podem ser usados simplesmente para distinguir entre várias instâncias, ou eles podem realmente aparecer em menus ou caixas de diálogo.

O lpAuxPathLabel parâmetro é uma cadeia de caracteres usada como um comentário para identificar o caminho do projeto auxiliar que é armazenado no arquivo de solução e passado para o plug-in de controle do código-fonte em uma chamada para o SccOpenProject. Visual SourceSafe usa a cadeia de caracteres "SourceSafe Project:"; Outros plug-ins de controle do código-fonte devem abster-se de usar essa cadeia de caracteres específica.

O lpSccCaps parâmetro fornece ao plug-in de controle do código-fonte um local para armazenar bitflags indicando os recursos do plug-in. (Para obter uma lista completa de bitflags de capacidade, consulte Sinalizadores de capacidade). Por exemplo, se o plug-in planeja gravar resultados em uma função de retorno de chamada fornecida pelo chamador, o plug-in definirá o bit de capacidade SCC_CAP_TEXTOUT. Isso sinalizaria ao IDE para criar uma janela para resultados de controle de versão.

Confira também