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
VOID SetThreadpoolTimer(
[in, out] PTP_TIMER pti,
[in, optional] PFILETIME pftDueTime,
[in] DWORD msPeriod,
[in] 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 elle est positive ou nulle, elle indique l’heure absolue depuis le 1er janvier 1601 (UTC), mesurée en 100 nanosecondes. S’il est négatif, il indique la durée d’attente relative à l’heure actuelle. 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] msWindowLength
Durée maximale pendant laquelle le système peut retarder avant d’appeler le rappel du minuteur. Si ce paramètre n’est pas défini sur zéro, le système peut traiter les appels par lots pour conserver la puissance.
Valeur retournée
Aucun
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.
Si le délai d’échéance spécifié par pftDueTime est égal à zéro, le minuteur expire immédiatement.
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 Vista [applications de bureau | Applications UWP] |
| Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | Applications UWP] |
| plateforme cible | Fenêtres |
| Header | threadpoolapiset.h (inclure Windows.h sur Windows 7, Windows Server 2008 Windows Server 2008 R2) |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |