Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 l'ora assoluta o relativa in cui il timer deve scadere. Se positivo o zero, indica l'ora assoluta dal 1° gennaio 1601 (UTC), misurata in 100 unità di nanosecondo. Se negativo, indica la quantità di tempo di attesa rispetto all'ora corrente. Per altre informazioni sui valori temporali, vedere Ora file.
Se questo parametro è NULL, l'oggetto timer smetterà di accodare nuovi callback (ma i callback già accodati si verificheranno).
Il timer viene impostato se il parametro pftDueTime non è NULL.
[in] msPeriod
Periodo timer, espresso in millisecondi. Se questo parametro è zero, il timer viene segnalato una sola volta. Se questo parametro è maggiore di zero, il timer è periodico. Un timer periodico riattiva automaticamente ogni volta che il periodo scade, fino a quando il timer non viene annullato.
[in] msWindowLength
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
None
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 pool di thread. 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 in sospensione o ibernazione non viene conteggiato per la scadenza del timer. Il timer viene segnalato quando la quantità cumulativa di tempo trascorso dal sistema passa nello stato di riattivazione è uguale al tempo o al periodo di tempo relativo del timer. Se il tempo di scadenza specificato da pftDueTime è assoluto, il tempo trascorso dal sistema nella sospensione o nell'ibernazione viene conteggiato alla scadenza del timer. Se il timer scade mentre il sistema è in sospensione, il timer viene segnalato immediatamente alla riattivazione del sistema.
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.
Esempi
Per un esempio, vedere Uso delle funzioni del pool di thread.
Requisiti
| Requisito | Value |
|---|---|
| Client minimo supportato | Windows Vista [app desktop | App UWP] |
| Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
| Piattaforma di destinazione | Windows |
| Header | threadpoolapiset.h (includere Windows.h in Windows 7, Windows Server 2008 Windows Server 2008 R2) |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |