Funzione SetThreadpoolWait (threadpoolapiset.h)
Imposta l'oggetto wait, sostituendo l'oggetto wait precedente, se presente. Un thread di lavoro chiama la funzione di callback dell'oggetto wait dopo che l'handle viene segnalato o dopo la scadenza del timeout specificato.
Sintassi
void SetThreadpoolWait(
[in, out] PTP_WAIT pwa,
[in, optional] HANDLE h,
[in, optional] PFILETIME pftTimeout
);
Parametri
[in, out] pwa
Puntatore a una struttura TP_WAIT che definisce l'oggetto wait. La funzione CreateThreadpoolWait restituisce questo puntatore.
[in, optional] h
Handle.
Se questo parametro è NULL, l'oggetto wait smetterà di accodare nuovi callback (ma i callback già accodati si verificheranno).
Se questo parametro non è NULL, deve fare riferimento a un oggetto waitable valido.
Mutex non è supportato. Se viene passato un handle a un mutex, il pool di thread genera un'eccezione STATUS_THREADPOOL_HANDLE_EXCEPTION e ExceptionRecord.ExceptionInformation[0] sarà uguale a STATUS_INVALID_PARAMETER_3.
Se questo handle viene chiuso mentre l'attesa è ancora in sospeso, il comportamento della funzione non è definito. Se l'attesa è ancora in sospeso e l'handle deve essere chiuso, usare CloseThreadpoolWait per annullare l'attesa e quindi chiudere l'handle.
L'attesa viene considerata impostata se questo parametro è diverso da NULL.
[in, optional] pftTimeout
Puntatore a una struttura FILETIME che specifica il tempo assoluto o relativo in cui l'operazione di attesa deve scadere. Se questo parametro punta a un valore positivo, indica l'ora assoluta dal 1° gennaio 1601 (UTC), in intervalli di 100 nanosecondi. Se questo parametro punta a un valore negativo, indica la quantità di tempo di attesa rispetto all'ora corrente. Per altre informazioni sui valori temporali, vedere File Times.
Se questo parametro punta a 0, si verifica immediatamente il timeout dell'attesa. Se questo parametro è NULL, l'attesa non si verifica il timeout.
Valore restituito
Nessuno
Osservazioni
Un oggetto wait può attendere un solo handle. L'impostazione dell'handle per un oggetto wait sostituisce l'handle precedente, se presente.
È necessario registrare nuovamente l'evento con l'oggetto wait prima di segnalarlo ogni volta per attivare il callback di attesa.
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.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista [app desktop | App UWP] |
server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
threadpoolapiset.h (includere Windows.h in Windows 7, Windows Server 2008 Windows Server 2008 R2) |
libreria |
Kernel32.lib |
dll | Kernel32.dll |
Vedere anche
pool di thread