Partager via


Fonction SccGetCommandOptions

Cette fonction invite l’utilisateur à entrer des options avancées pour une commande donnée.

Syntaxe

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

Paramètres

pvContext

[in] Structure de contexte du plug-in de contrôle de code source.

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.

Icommand

[in] Commande pour laquelle les options avancées sont demandées (consultez le code de commande pour connaître les valeurs possibles).

ppvOptions

[in] Structure d’option (peut également être NULL).

Valeur retournée

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 Opération réussie.
SCC_I_ADV_SUPPORT Le plug-in de contrôle de code source prend en charge les options avancées de la commande.
SCC_I_OPERATIONCANCELED L’utilisateur a annulé la boîte de dialogue Options du plug-in de contrôle de code source.
SCC_E_OPTNOTSUPPORTED Le plug-in de contrôle de code source ne prend pas en charge cette opération.
SCC_E_ISCHECKEDOUT Impossible d’effectuer cette opération sur un fichier actuellement case activée sorti.
SCC_E_ACCESSFAILURE Il y a eu un problème d’accès au système de contrôle de code source, probablement en raison de problèmes de réseau ou de contention. Une nouvelle tentative est recommandée.
SCC_E_NONSPECIFICERROR Échec non spécifique.

Notes

L’IDE appelle cette fonction pour la première fois avec ppvOptions=NULL pour déterminer si le plug-in de contrôle de code source prend en charge la fonctionnalité d’options avancées pour la commande spécifiée. Si le plug-in prend en charge la fonctionnalité de cette commande, l’IDE appelle à nouveau cette fonction lorsque l’utilisateur demande des options avancées (généralement implémentées en tant que bouton Avancé dans une boîte de dialogue) et fournit un pointeur non NULL pour ppvOptions cela pointe vers un NULL pointeur. Le plug-in stocke toutes les options avancées spécifiées par l’utilisateur dans une structure privée et retourne un pointeur vers cette structure dans ppvOptions. Cette structure est ensuite transmise à toutes les autres fonctions d’API plug-in de contrôle de code source qui doivent en savoir plus, y compris les appels suivants à la SccGetCommandOptions fonction.

Un exemple peut aider à clarifier cette situation.

Un utilisateur choisit la commande Get et l’IDE affiche une boîte de dialogue Obtenir . L’IDE appelle la SccGetCommandOptions fonction avec iCommand la SCC_COMMAND_GET valeur définie sur et ppvOptions définie sur NULL. Ceci est interprété par le plug-in de contrôle de code source comme la question : « Avez-vous des options avancées pour cette commande ? » Si le plug-in retourne SCC_I_ADV_SUPPORT, l’IDE affiche un bouton Avancé dans sa boîte de dialogue Obtenir .

La première fois que l’utilisateur clique sur le bouton Avancé , l’IDE appelle à nouveau la SccGetCommandOptions fonction, cette fois avec un pointeurNULL``ppvOptions qui pointe vers un NULL pointeur. Le plug-in affiche sa propre boîte de dialogue Get Options, invite l’utilisateur à entrer des informations, place ces informations dans sa propre structure et retourne un pointeur vers cette structure.ppvOptions

Si l’utilisateur clique de nouveau sur Avancé dans la même boîte de dialogue, l’IDE appelle à nouveau la SccGetCommandOptions fonction sans changer ppvOptions, afin que la structure soit renvoyée au plug-in. Cela permet au plug-in de réinitialiser sa boîte de dialogue sur les valeurs que l’utilisateur avait précédemment définies. Le plug-in modifie la structure en place avant de retourner.

Enfin, lorsque l’utilisateur clique sur OK dans la boîte de dialogue Obtenir de l’IDE, l’IDE appelle SccGet, en passant la structure retournée dans ppvOptions laquelle il contient les options avancées.

Remarque

La commande SCC_COMMAND_OPTIONS est utilisée lorsque l’IDE affiche une boîte de dialogue Options qui permet à l’utilisateur de définir des préférences qui contrôlent le fonctionnement de l’intégration. Si le plug-in de contrôle de code source souhaite fournir sa propre boîte de dialogue préférences, il peut l’afficher à partir d’un bouton Avancé dans la boîte de dialogue préférences de l’IDE. Le plug-in est uniquement responsable de l’obtention et de la conservation de ces informations ; l’IDE ne l’utilise pas ou ne le modifie pas.

Voir aussi