Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Définit l’objet minuteur, en remplaçant le minuteur précédent, le cas échéant. Un thread de travail appelle le rappel de l’objet minuteur après l’expiration du délai d’expiration spécifié.
Syntaxe
BOOL SetThreadpoolTimerEx(
[in, out] PTP_TIMER pti,
[in, optional] PFILETIME pftDueTime,
[in] DWORD msPeriod,
[in, optional] DWORD msWindowLength
);
Paramètres
[in, out] pti
Pointeur vers une structure TP_TIMER qui définit l’objet minuteur à définir. La fonction CreateThreadpoolTimer retourne ce pointeur.
[in, optional] pftDueTime
Pointeur vers une structure FILETIME qui spécifie l’heure absolue ou relative à laquelle le minuteur doit expirer. Si ce paramètre pointe vers une valeur positive, il indique l’heure absolue depuis le 1er janvier 1601 (UTC), mesurée en unités de 100 nanosecondes. Si ce paramètre pointe vers une valeur négative, il indique la durée d’attente relative à l’heure actuelle. Si ce paramètre pointe vers zéro, le minuteur expire immédiatement. Pour plus d’informations sur les valeurs de temps, consultez File Times.
Si ce paramètre est NULL, l’objet minuteur cesse de mettre en file d’attente de nouveaux rappels (mais les rappels déjà mis en file d’attente se produisent toujours).
Le minuteur est défini si le paramètre pftDueTime n’est pas NULL.
[in] msPeriod
Période du minuteur, en millisecondes. Si ce paramètre est égal à zéro, le minuteur est signalé une seule fois. Si ce paramètre est supérieur à zéro, le minuteur est périodique. Un minuteur périodique réactive automatiquement chaque fois que la période s’est écoulée, jusqu’à ce que le minuteur soit annulé.
[in, optional] msWindowLength
Durée maximale pendant laquelle le système peut retarder avant d’appeler le rappel du minuteur. Si ce paramètre est défini, le système peut traiter les appels par lots pour conserver l’alimentation.
Valeur retournée
Retourne TRUE si le minuteur a été défini précédemment et a été annulé. Sinon, retourne FALSE.
Si l’état précédent du minuteur a été défini et que la fonction retourne FALSE, un rappel est en cours ou sur le point de commencer. Pour plus d’informations, consultez les remarques.
Remarques
La définition du minuteur annule le minuteur précédent, le cas échéant.
Dans certains cas, les fonctions de rappel peuvent s’exécuter une fois qu’une application ferme le minuteur du pool de threads. Pour éviter ce comportement, une application doit suivre les étapes décrites dans CloseThreadpoolTimer.
Si le temps d’échéance spécifié par pftDueTime est relatif, le temps passé par le système en veille ou en veille prolongée ne compte pas vers l’expiration du minuteur. Le minuteur est signalé lorsque le temps cumulé passé par le système dans l’état de réveil est égal à l’heure ou à la période relative du minuteur. Si le temps d’échéance spécifié par pftDueTime est absolu, le temps passé par le système en veille ou en veille prolongée compte vers l’expiration du minuteur. Si le minuteur expire pendant que le système est en veille, le minuteur est signalé immédiatement lorsque le système se réveille.
Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0600 ou une version ultérieure.
Examples
Pour obtenir un exemple, consultez Utilisation des fonctions de pool de threads.
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows 8 [applications de bureau | Applications UWP] |
| Serveur minimal pris en charge | Windows Server 2012 [applications de bureau | Applications UWP] |
| plateforme cible | Fenêtres |
| Header | threadpoolapiset.h |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |