Share via


Función SetThreadpoolWaitEx (threadpoolapiset.h)

Establece el objeto wait, reemplazando el objeto wait anterior, si existe. Un subproceso de trabajo llama a la función de devolución de llamada del objeto de espera después de que el identificador se señale o después de que expire el tiempo de espera especificado.

Sintaxis

BOOL SetThreadpoolWaitEx(
  [in, out]      PTP_WAIT  pwa,
  [in, optional] HANDLE    h,
  [in, optional] PFILETIME pftTimeout,
                 PVOID     Reserved
);

Parámetros

[in, out] pwa

Puntero a una estructura TP_WAIT que define el objeto wait. La función CreateThreadpoolWait devuelve este puntero.

[in, optional] h

Un identificador.

Si este parámetro es NULL, el objeto wait dejará de poner en cola nuevas devoluciones de llamada (pero las devoluciones de llamada ya puestas en cola se seguirán produciendo).

Si este parámetro no es NULL, debe hacer referencia a un objeto esperable válido.

Si se cierra este identificador mientras la espera sigue pendiente, el comportamiento de la función no está definido. Si la espera sigue pendiente y el identificador debe cerrarse, use CloseThreadpoolWait para cancelar la espera y, a continuación, cierre el identificador.

La espera se considera establecida si este parámetro no es NULL.

[in, optional] pftTimeout

Puntero a una estructura FILETIME que especifica el tiempo absoluto o relativo en el que la operación de espera debe agotar el tiempo de espera. Si este parámetro apunta a un valor positivo, indica la hora absoluta desde el 1 de enero de 1601 (UTC), en intervalos de 100 nanosegundos. Si este parámetro apunta a un valor negativo, indica la cantidad de tiempo que se debe esperar con respecto a la hora actual. Si este parámetro apunta a cero, el tiempo de espera se agota inmediatamente. Para obtener más información sobre los valores de hora, vea Tiempos de archivo.

Si este parámetro es NULL, la espera no agota el tiempo de espera.

Reserved

Reservado. Debe ser NULL.

Valor devuelto

Devuelve TRUE si la espera se estableció anteriormente y se canceló. En caso contrario, devuelve FALSE.

Si el estado anterior de la espera era "establecido" y la función devuelve FALSE, una devolución de llamada está en curso o está a punto de comenzar. Consulte los comentarios para obtener más información.

Comentarios

Un objeto wait puede esperar solo un identificador. Si se establece el identificador de un objeto de espera, se reemplaza el identificador de espera anterior, si existe.

En algunos casos, las funciones de devolución de llamada se pueden ejecutar después de que una aplicación cierre el temporizador del grupo de subprocesos. Para evitar este comportamiento, una aplicación debe seguir los pasos descritos en CloseThreadpoolWait.

Si el tiempo de espera especificado por pftTimeout es relativo, el tiempo que el sistema pasa en suspensión o hibernación no cuenta para la expiración de la espera. La espera se señala cuando la cantidad acumulativa de tiempo transcurrido que el sistema invierte en el estado de reactivación es igual al tiempo de espera relativo de la espera. Si el tiempo de espera especificado por pftTimeout es absoluto, el tiempo que el sistema pasa en suspensión o hibernación cuenta para la expiración de la espera. Si la espera expira mientras el sistema está en suspensión, la espera se señala inmediatamente cuando se activa el sistema.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado threadpoolapiset.h
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

CloseThreadpoolWait

CreateThreadpoolWait

Grupos de subprocesos

WaitForThreadpoolWaitCallbacks