Condividi tramite


Funzione EngWaitForSingleObject (winddi.h)

La funzione EngWaitForSingleObject inserisce il thread corrente del driver di visualizzazione in uno stato di attesa fino a quando l'oggetto evento specificato non viene impostato sullo stato segnalato o fino al timeout dell'attesa.

Sintassi

ENGAPI BOOL EngWaitForSingleObject(
  [in] PEVENT         pEvent,
  [in] PLARGE_INTEGER pTimeOut
);

Parametri

[in] pEvent

Puntatore a un oggetto evento inizializzato. Questo handle dell'oggetto evento è stato ottenuto in una chiamata precedente a EngCreateEvent.

[in] pTimeOut

(Facoltativo) Puntatore a un valore di timeout che specifica l'ora assoluta o relativa in cui deve essere completata l'attesa. Un valore negativo specifica un intervallo relativo all'ora corrente. Il valore deve essere espresso in unità di 100 nanosecondi. I tempi di scadenza assoluti tengono traccia delle modifiche apportate all'ora di sistema; le ore di scadenza relative non sono interessate dalle modifiche apportate all'ora di sistema. Se pTimeOut è NULL, il thread chiamante rimane in uno stato di attesa fino a quando non viene segnalato l'oggetto evento.

Valore restituito

EngWaitForSingleObject restituisce TRUE al completamento, che include l'occorrenza di un timeout. In caso contrario, restituisce FALSE. Un valore restituito FALSE indica che uno dei parametri non è valido.

Commenti

EngWaitForSingleObject fa sì che un thread del driver di visualizzazione venga inserito in uno stato di attesa. Il thread del driver di visualizzazione rimane nello stato di attesa fino a quando l'oggetto evento non viene impostato sullo stato segnalato o fino al timeout dell'attesa. Se non viene fornito alcun valore di timeout, il thread del driver di visualizzazione rimane nello stato di attesa fino a quando l'oggetto evento non viene impostato sullo stato segnalato.

Un evento di sincronizzazione viene reimpostato automaticamente sullo stato non assegnato quando l'attesa viene soddisfatta. Pertanto, solo un'attesa verrà soddisfatta per ogni chiamata a EngSetEvent o VideoPortSetEvent. Al contrario, un evento di notifica non verrà reimpostato automaticamente.

Un valore di timeout pari a zero consente al driver di testare la condizione di attesa e di eseguire in modo condizionale eventuali effetti collaterali purché l'attesa possa essere immediatamente soddisfatta.

Il driver di visualizzazione può sincronizzare le operazioni di disegno tra se stesso e il driver miniport video chiamando EngWaitForSingleObject con un oggetto evento e in attesa fino a quando il driver miniport imposta l'oggetto evento sullo stato segnalato.

Il driver non può chiamare EngWaitForSingleObject sugli eventi restituiti da EngMapEvent.

Requisiti

   
Client minimo supportato Questa funzione è disponibile in Windows XP e versioni successive.
Piattaforma di destinazione Universale
Intestazione winddi.h (include Winddi.h)
Libreria Win32k.lib
DLL Win32k.sys

Vedi anche

EngCreateEvent

EngSetEvent

VideoPortSetEvent