Partager via


SetThreadpoolWait, fonction (threadpoolapiset.h)

Définit l’objet d’attente, en remplaçant l’objet d’attente précédent, le cas échéant. Un thread de travail appelle la fonction de rappel de l’objet d’attente une fois le handle signalé ou après l’expiration du délai d’expiration spécifié.

Syntaxe

void SetThreadpoolWait(
  [in, out]      PTP_WAIT  pwa,
  [in, optional] HANDLE    h,
  [in, optional] PFILETIME pftTimeout
);

Paramètres

[in, out] pwa

Pointeur vers une structure TP_WAIT qui définit l’objet d’attente. La fonction CreateThreadpoolWait retourne ce pointeur.

[in, optional] h

Un handle.

Si ce paramètre est NULL, l’objet d’attente cesse de mettre en file d’attente de nouveaux rappels (mais les rappels déjà mis en file d’attente se produisent toujours).

Si ce paramètre n’est pas NULL, il doit faire référence à un objet pouvant être attendu valide.

Mutex n’est pas pris en charge. Si un handle vers un mutex est passé, le pool de threads déclenche une exception STATUS_THREADPOOL_HANDLE_EXCEPTION et ExceptionRecord.ExceptionInformation[0] est égal à STATUS_INVALID_PARAMETER_3.

Si ce handle est fermé pendant que l’attente est toujours en attente, le comportement de la fonction n’est pas défini. Si l’attente est toujours en attente et que le handle doit être fermé, utilisez CloseThreadpoolWait pour annuler l’attente, puis fermez le handle.

L’attente est considérée comme définie si ce paramètre n’est pas NULL.

[in, optional] pftTimeout

Pointeur vers une structure FILETIME qui spécifie l’heure absolue ou relative à laquelle l’opération d’attente doit expirer. Si ce paramètre pointe vers une valeur positive, il indique l’heure absolue depuis le 1er janvier 1601 (UTC), dans les intervalles de 100 nanosecondes. Si ce paramètre pointe vers une valeur négative, 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 pointe sur 0, l’attente expire immédiatement. Si ce paramètre a la valeur NULL, l’attente n’expire pas.

Valeur de retour

Aucun

Remarques

Un objet d’attente ne peut attendre qu’un seul handle. La définition du handle d’un objet d’attente remplace le handle précédent, le cas échéant.

Vous devez réinscrire l’événement auprès de l’objet d’attente avant de le signaler à chaque fois pour déclencher le rappel d’attente.

Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0600 ou une version ultérieure.

Exemples

Pour obtenir un exemple, consultez Utilisation des fonctions de pool de threads.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows Server 2008 [applications de bureau | Applications UWP]
plateforme cible Windows
d’en-tête threadpoolapiset.h (inclure Windows.h sur Windows 7, Windows Server 2008 Windows Server 2008 R2)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

CloseThreadpoolWait

CreateThreadpoolWait

SetThreadpoolWaitEx

pools de threads

WaitForThreadpoolWaitCallbacks