Condividi tramite


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

CloseThreadpoolWait

CreateThreadpoolWait

SetThreadpoolWaitEx

pool di thread

WaitForThreadpoolWaitCallbacks