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.
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.
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 .
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 |