NetScheduleJobAdd, fonction (lmat.h)

[NetScheduleJobAdd n’est plus disponible à partir de Windows 8. Utilisez plutôt les interfaces Du planificateur de tâches 2.0.

]

La fonction NetScheduleJobAdd envoie un travail pour qu’il s’exécute à une date et une heure ultérieures spécifiées. Cette fonction nécessite que le service de planification soit démarré sur l’ordinateur auquel le travail est envoyé.

Syntaxe

NET_API_STATUS NET_API_FUNCTION NetScheduleJobAdd(
  [in, optional] LPCWSTR Servername,
  [in]           LPBYTE  Buffer,
  [out]          LPDWORD JobId
);

Paramètres

[in, optional] Servername

Pointeur vers une chaîne constante qui spécifie le nom DNS ou NetBIOS du serveur distant sur lequel la fonction doit s’exécuter. Si ce paramètre a la valeur NULL, l’ordinateur local est utilisé.

[in] Buffer

Pointeur vers une structure de AT_INFO décrivant le travail à envoyer. Pour plus d’informations sur la planification des travaux à l’aide de différentes propriétés de travail, consultez la section Remarques suivante et Mémoires tampons de fonction de gestion réseau suivantes.

[out] JobId

Pointeur qui reçoit un identificateur de travail pour le travail qui vient d’être soumis. Cette entrée n’est valide que si la fonction retourne correctement.

Valeur retournée

Si la fonction réussit, la valeur de retour est NERR_Success.

Si la fonction échoue, la valeur de retour est un code d’erreur système. Pour obtenir la liste des codes d’erreur, consultez Codes d’erreur système.

Remarques

Normalement, seuls les membres du groupe Administrateurs local sur l’ordinateur sur lequel le travail de planification est ajouté peuvent exécuter correctement cette fonction. Si le nom du serveur transmis dans la chaîne pointée vers par le paramètre Servername est un serveur distant, seuls les membres du groupe Administrateurs local sur le serveur distant peuvent exécuter cette fonction avec succès.

Si la valeur de Registre suivante a l’ensemble de bits le moins significatif (par exemple, 0x00000001), les utilisateurs appartenant au groupe Opérateurs de serveur peuvent également exécuter correctement cette fonction.

HKLM\System\CurrentControlSet\Control\Lsa\SubmitControl

Voici des exemples de planification de travaux à l’aide de différentes propriétés prises en charge par la fonction NetScheduleJobAdd .

Pour planifier un travail qui s’exécute une fois :

  • Définissez le membre DaysOfMonth de la structure AT_INFO sur zéro.
  • Définissez le membre DaysOfWeek de la structure AT_INFO sur zéro.
  • Définissez le membre JobTime de la structure AT_INFO sur l’heure d’exécution du travail.
Le travail s’exécute à l’heure spécifiée par le membre JobTime de la structure AT_INFO pointée vers le paramètre Buffer . Une fois le travail exécuté, il est supprimé.

Pour planifier et supprimer un travail qui s’exécute plusieurs fois :

  • Définissez les bits appropriés dans le membre DaysOfMonth de la structure AT_INFO ou
  • Définissez les bits appropriés dans le membre DaysOfWeek de la structure AT_INFO .
  • Définissez le membre JobTime de la structure AT_INFO sur l’heure d’exécution du travail.
Note Vous n’avez pas besoin de définir les membres DaysOfMonth et DaysOfWeek de la structure AT_INFO .
 
Le travail s’exécute à l’heure spécifiée par le membre JobTime de la structure AT_INFO pointée par le paramètre Buffer , une fois pour chaque jour défini dans les membres DaysOfMonth ou DaysOfWeek de la structure AT_INFO . Une fois chaque travail exécuté, le bit correspondant est effacé. Lorsque le dernier bit est effacé, le travail est supprimé.

Pour planifier un travail qui s’exécute régulièrement :

  • Définissez les bits appropriés dans le membre DaysOfMonth de la structure AT_INFO ou
  • Définissez les bits appropriés dans le membre DaysOfWeek de la structure AT_INFO .
  • Définissez le membre JobTime de la structure AT_INFO sur l’heure d’exécution du travail.
  • Définissez l’indicateur d’envoi de travaux JOB_RUN_PERIODICALLY dans le membre Indicateurs de la structure AT_INFO .
Note Vous n’avez pas besoin de définir les membres DaysOfMonth et DaysOfWeek de la structure AT_INFO .
 
Le travail s’exécute régulièrement, à l’heure spécifiée par le membre JobTime de la structure AT_INFO pointée par le paramètre Buffer , chaque jour défini dans le membre DaysOfMonth ou DaysOfWeek de la structure AT_INFO . Le travail ne sera pas supprimé à la suite des exécutions répétées. La seule façon de supprimer le travail consiste à appeler explicitement la fonction NetScheduleJobDel .

Consultez la structure AT_INFO pour obtenir une description des masques de bits de propriété DaysOfWeek, DaysOfMonth et job.

Sur Windows 2000, le service AT antérieur et le planificateur de tâches ont été combinés. Le service Planificateur de tâches n’était précis qu’à la minute. Par conséquent, la fonction NetScheduleJobAdd utilise uniquement les heures et les minutes spécifiées dans le membre JobTime de la structure AT_INFO lorsqu’un travail est planifié pour s’exécuter.

À compter de Windows Vista, la précision du planificateur de tâches a été augmentée à la seconde. Par conséquent, la fonction NetScheduleJobAdd utilise uniquement les heures, les minutes et les secondes spécifiées dans le membre JobTime de la structure AT_INFO lorsqu’un travail est planifié pour s’exécuter.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête lmat.h (inclure Lmat.h)
Bibliothèque Netapi32.lib
DLL Netapi32.dll

Voir aussi

AT_INFO

NetScheduleJobDel

NetScheduleJobEnum

NetScheduleJobGetInfo

Fonctions de gestion réseau

Vue d’ensemble de la gestion du réseau

Fonctions de planification