Metodo IDebugControl3::WaitForEvent (dbgeng.h)
Il metodo WaitForEvent attende un evento che si interrompe nell'applicazione del motore del debugger.
Sintassi
HRESULT WaitForEvent(
[in] ULONG Flags,
[in] ULONG Timeout
);
Parametri
[in] Flags
Imposta su zero. Attualmente non sono disponibili flag che possono essere usati in questo parametro.
[in] Timeout
Specifica il numero di millisecondi di attesa prima che venga restituito questo metodo. Se Timeout è INFINITE, questo metodo non restituirà finché non si verifica un evento che si interrompe nell'applicazione del motore del debugger o viene generato un interrupt di uscita. Se la sessione corrente ha una destinazione del kernel live, timeout deve essere impostato su INFINITE.
Valore restituito
Questo metodo può restituire altri valori di errore e i valori di errore precedenti possono avere significati aggiuntivi. Per altri dettagli, vedere Valori restituiti .
Codice restituito | Descrizione |
---|---|
|
Il metodo è stato eseguito correttamente. |
|
Timeout scaduto. |
|
È stato generato un interrupt di uscita. La destinazione non è disponibile. |
|
È presente una richiesta in sospeso per l'input o nessuna delle destinazioni potrebbe generare eventi. |
|
Il motore è già in attesa di un evento. |
Commenti
Il metodo può essere chiamato solo dal thread che ha avviato la sessione del debugger.
Quando si verifica un evento, il motore del debugger elabora l'evento e chiama i callback dell'evento. Se uno di questi callback indica che l'evento deve entrare nell'applicazione del motore di debugger (restituendo DEBUG_STATUS_BREAK), questo metodo restituirà; in caso contrario, continuerà ad attendere un evento. I filtri eventi possono anche specificare che un evento deve entrare nell'applicazione del motore del debugger. Per altre informazioni sui filtri eventi, vedere Controllo di eccezioni ed eventi.
Questo metodo non è rientrante. Una volta che è stato chiamato, non può essere chiamato di nuovo in alcun client fino a quando non viene restituito. In particolare, non può essere chiamato dai callback dell'evento, incluse le estensioni e i comandi eseguiti dai callback.
Se nessuna delle destinazioni è in grado di generare eventi, ad esempio tutte le destinazioni sono state uscite, questo metodo terminerà la sessione corrente, eliminerà le destinazioni e quindi restituirà E_UNEXPECTED.
La costante INFINITE è definita in Winbase.h.
Per altre informazioni sull'uso di WaitForEvent per controllare il flusso di esecuzione dell'applicazione e delle destinazioni del debugger, vedere Debug di sessioni ed esecuzione del modello. Per informazioni dettagliate sui callback degli eventi, vedere Monitoraggio degli eventi.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | dbgeng.h (include Dbgeng.h, Winbase.h) |