Partager via


IDataModelScript ::InvokeMain, méthode (dbgmodel.h)

Si le script a une « fonction main » destinée à s’exécuter à partir d’un appel d’interface utilisateur, elle l’indique via un retour vrai de la méthode IsInvocable. L’interface utilisateur peut ensuite appeler la méthode InvokeMain pour « appeler » réellement le script. Notez que cela est différent de Execute , qui exécute tout le code racine et lie le script à l’espace de noms de l’hôte sous-jacent.

Cette méthode peut échouer avec E_NOTIMPL si le script ne contient pas de « fonction main » ou si le fournisseur ne la définit pas.

Notez qu’une application qui héberge le modèle de données peut charger et exécuter un script une seule fois, mais appeler la méthode InvokeMain un nombre arbitraire de fois sans appel Execute intermédiaire. On s’attend à ce que cela préserve le « contexte de script », conserve le script chargé et appelle simplement une méthode dans le script plusieurs fois.

S’il existe des erreurs ou d’autres événements qui se produisent pendant l’exécution du script, tels (et leur emplacement dans le script) peuvent être transmis sur le canal de communication entre IDataModelScript et IDataModelScriptClient.

Syntaxe

HRESULT InvokeMain(
  IDataModelScriptClient *client
);

Paramètres

client

Interface vers le client qui demande l’appel de la fonction main. Si des erreurs ou d’autres événements se produisent pendant l’exécution de la fonction main, le script peut transmettre ces informations et leur emplacement au sein du script au client via des appels de méthode sur cette interface.

Valeur retournée

Cette méthode retourne HRESULT qui indique la réussite ou l’échec.

Configuration requise

Condition requise Valeur
En-tête dbgmodel.h

Voir aussi

Interface IDataModelScript