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.