Partager via


IRegisteredTask ::RunEx, méthode (taskschd.h)

Exécute la tâche inscrite immédiatement à l’aide d’indicateurs spécifiés et d’un identificateur de session.

Syntaxe

HRESULT RunEx(
  [in]            VARIANT      params,
  [in]            LONG         flags,
  [in]            LONG         sessionID,
  [in]            BSTR         user,
  [out, optional] IRunningTask **ppRunningTask
);

Paramètres

[in] params

Paramètres utilisés comme valeurs dans les actions de tâche. Pour ne pas spécifier de valeurs de paramètre pour les actions de tâche, définissez ce paramètre sur VT_NULL ou VT_EMPTY. Sinon, une valeur BSTR unique, ou un tableau de valeurs BSTR, peut être spécifié.

Les valeurs BSTR que vous spécifiez sont jumelées avec des noms et stockées en tant que paires nom-valeur. Si vous spécifiez une valeur BSTR unique, Arg0 sera le nom attribué à la valeur. La valeur peut être utilisée dans l’action de tâche où la variable $(Arg0) est utilisée dans les propriétés d’action.

Si vous transmettez des valeurs telles que « 0 », « 100 » et « 250 » comme tableau de valeurs BSTR, « 0 » remplace les variables $(Arg0), « 100 » remplace les variables $(Arg1) et « 250 » remplacent les variables $(Arg2) utilisées dans les propriétés d’action.

Une valeur maximale de 32 valeurs de BSTR peut être spécifiée.

Pour plus d’informations et une liste de propriétés d’action qui peuvent utiliser $(Arg0), $(Arg1), ..., $(Arg32) dans leurs valeurs, consultez Actions de tâche.

[in] flags

Constante TASK_RUN_FLAGS qui définit la façon dont la tâche est exécutée.

[in] sessionID

Session de serveur terminal dans laquelle vous souhaitez démarrer la tâche.

Si la constante TASK_RUN_USE_SESSION_ID n’est pas passée dans les indicateurs paramètre, la valeur spécifiée dans ce paramètre est ignorée. Si la constante TASK_RUN_USE_SESSION_ID est passée dans les indicateurs paramètre et que la valeur sessionID est inférieure ou égale à 0, une erreur d’argument non valide est retournée.

Si la constante TASK_RUN_USE_SESSION_ID est passée dans les indicateurs de paramètre et que la valeur sessionID est un ID de session valide supérieur à 0 et si aucune valeur n’est spécifiée pour le paramètre utilisateur , le service Planificateur de tâches tente de démarrer la tâche de manière interactive en tant qu’utilisateur connecté à la session spécifiée.

Si la constante TASK_RUN_USE_SESSION_ID est passée dans les indicateurs paramètre et que la valeur sessionID est un ID de session valide supérieur à 0 et si un utilisateur est spécifié dans le paramètre utilisateur , le service Planificateur de tâches tente de démarrer la tâche de manière interactive en tant qu’utilisateur spécifié dans le paramètre utilisateur .

[in] user

Utilisateur pour lequel la tâche s’exécute.

[out, optional] ppRunningTask

Interface IRunningTask qui définit la nouvelle instance de la tâche.

Passez une référence à un pointeur d’interface NULLIRunningTask. Le référencement d’un pointeur NULL nonpeut provoquer une fuite de mémoire, car le pointeur sera remplacé.

Valeur de retour

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un HRESULT code d’erreur.

Remarques

Cette méthode retourne sans erreur, mais la tâche ne s’exécute pas si la propriété AllowDemandStart de ITaskSettings est définie sur false pour la tâche.

Si IRegisteredTask ::RunEx est appelée à partir d’une tâche désactivée, elle retourne S_OK, mais la tâche ne sera pas exécutée.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2008 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête taskschd.h
bibliothèque Taskschd.lib
DLL Taskschd.dll

Voir aussi

IRegisteredTask

planificateur de tâches