Funzione SetThreadpoolTimer (threadpoolapiset.h)
Imposta l'oggetto timer, sostituendo il timer precedente, se presente. Un thread di lavoro chiama il callback dell'oggetto timer dopo la scadenza del timeout specificato.
Sintassi
void SetThreadpoolTimer(
[in, out] PTP_TIMER pti,
[in, optional] PFILETIME pftDueTime,
[in] DWORD msPeriod,
[in] DWORD msWindowLength
);
Parametri
[in, out] pti
Puntatore a una struttura TP_TIMER che definisce l'oggetto timer da impostare. La funzione CreateThreadpoolTimer restituisce questo puntatore.
[in, optional] pftDueTime
Puntatore a una struttura FILETIME che specifica il tempo assoluto o relativo in corrispondenza del quale il timer deve scadere. Se positivo o zero, indica l'ora assoluta dal 1° gennaio 1601 (UTC), misurata in 100 unità nanosecondi. Se negativo, indica la quantità di tempo di attesa rispetto all'ora corrente. Per altre informazioni sui valori temporali, vedere Tempi file.
Se questo parametro è NULL, l'oggetto timer smetterà di accodare nuovi callback (ma i callback già accodati si verificheranno ancora).
Il timer viene impostato se il parametro pftDueTime non è NULL.
[in] msPeriod
Periodo timer, in millisecondi. Se questo parametro è zero, il timer viene segnalato una volta. Se questo parametro è maggiore di zero, il timer è periodico. Un timer periodico reagisce automaticamente ogni volta che il periodo viene trascorso, fino a quando il timer non viene annullato.
[in] msWindowLength
La quantità massima di tempo che il sistema può ritardare prima di chiamare il callback timer. Se questo parametro non è impostato su zero, il sistema può eseguire chiamate batch per risparmiare energia.
Valore restituito
nessuno
Osservazioni
L'impostazione del timer annulla il timer precedente, se presente.
In alcuni casi, le funzioni di callback potrebbero essere eseguite dopo che un'applicazione chiude il timer del threadpool. Per evitare questo comportamento, un'applicazione deve seguire i passaggi descritti in CloseThreadpoolTimer.
Se il tempo di scadenza specificato da pftDueTime è relativo, il tempo trascorso dal sistema nel sonno o nell'ibernazione non viene conteggiato verso la scadenza del timer. Il timer viene segnalato quando la quantità cumulativa di tempo trascorso il sistema passa nello stato di sveglia equivale al tempo relativo o al periodo di tempo relativo del timer. Se il tempo di scadenza specificato da pftDueTime è assoluto, il tempo trascorso dal sistema nel sonno o nell'ibernazione viene conteggiato verso la scadenza del timer. Se il timer scade mentre il sistema sta dormendo, il timer viene segnalato immediatamente quando il sistema viene riattivato.
Se il tempo di scadenza specificato da pftDueTime è zero, il timer scade immediatamente.
Per compilare un'applicazione che usa questa funzione, definire _WIN32_WINNT come 0x0600 o versione successiva.
Esempio
Per un esempio, vedere Uso delle funzioni del pool di thread.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | threadpoolapiset.h (includere Windows.h in Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |