Fonction SccInitialize

Cette fonction initialise le plug-in de contrôle de code source et fournit des fonctionnalités et des limites à l’environnement de développement intégré (IDE).

Syntaxe

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

Paramètres

ppvContext

[in] Le plug-in de contrôle de code source peut placer un pointeur vers sa structure de contexte ici.

hWnd

[in] Handle vers la fenêtre IDE que le plug-in de contrôle de code source peut utiliser comme parent pour toutes les boîtes de dialogue qu’il fournit.

lpCallerName

[in] Nom du programme appelant le plug-in de contrôle de code source.

lpSccName

[in, out] Mémoire tampon où le plug-in de contrôle de code source place son propre nom (pas dépasser SCC_NAME_LEN).

lpSccCaps

[out] Retourne les indicateurs de capacité du plug-in de contrôle de code source.

lpAuxPathLabel

[in, out] Mémoire tampon où le plug-in de contrôle de code source place une chaîne qui décrit le lpAuxProjPath paramètre retourné par sccOpenProject et sccGetProjPath (pas à dépasser SCC_AUXLABEL_LEN).

pnCheckoutCommentLen

[out] Retourne la longueur maximale autorisée pour un commentaire case activée out.

pnCommentLen

[out] Retourne la longueur maximale autorisée pour d’autres commentaires.

Valeur de retour

L’implémentation du plug-in de contrôle de code source de cette fonction est censée retourner l’une des valeurs suivantes :

Valeur Description
SCC_OK L’initialisation du contrôle de code source a réussi.
SCC_E_INITIALIZEFAILED Le système n’a pas pu être initialisé.
SCC_E_NOTAUTHORIZED L’utilisateur n’est pas autorisé à effectuer l’opération spécifiée.
SCC_E_NONSPECFICERROR Échec non spécifique ; Le système de contrôle de code source n’a pas été initialisé.

Notes

L’IDE appelle cette fonction lorsqu’elle charge d’abord le plug-in de contrôle de code source. Il permet à l’IDE de transmettre certaines informations, telles que le nom de l’appelant, au plug-in. L’IDE récupère également certaines informations, telles que la longueur maximale autorisée pour les commentaires et les fonctionnalités du plug-in.

Pointe ppvContext vers un NULL pointeur. Le plug-in de contrôle de code source peut allouer une structure pour sa propre utilisation et stocker un pointeur vers cette structure dans ppvContext. L’IDE transmet ce pointeur à toutes les autres fonctions d’API VSSCI, ce qui permet au plug-in d’avoir des informations de contexte disponibles sans recourir au stockage global et à prendre en charge plusieurs instances du plug-in. Cette structure doit être libérée lorsque sccUninitialize est appelé.

Les lpCallerName paramètres permettent lpSccName à l’IDE et au plug-in de contrôle de code source d’échanger des noms. Ces noms peuvent être utilisés simplement pour distinguer plusieurs instances, ou ils peuvent en fait apparaître dans des menus ou des boîtes de dialogue.

Le lpAuxPathLabel paramètre est une chaîne utilisée comme commentaire pour identifier le chemin d’accès du projet auxiliaire stocké dans le fichier solution et transmis au plug-in de contrôle de code source dans un appel à SccOpenProject. Visual Source Coffre utilise la chaîne « Source Coffre Project : » ; d’autres plug-ins de contrôle de code source doivent s’abstenir d’utiliser cette chaîne particulière.

Le lpSccCaps paramètre donne au plug-in de contrôle de code source un emplacement pour stocker les flocons de bits indiquant les fonctionnalités du plug-in. (Pour obtenir la liste complète des bitflags de fonctionnalité, consultez Indicateurs de capacité). Par exemple, si le plug-in prévoit d’écrire des résultats dans une fonction de rappel fournie par l’appelant, le plug-in définit le bit de capacité SCC_CAP_TEXTOUT. Cela signale à l’IDE de créer une fenêtre pour les résultats du contrôle de version.

Voir aussi