Condividi tramite


Metodo IDebugHostStatus::P ollUserInterrupt (dbgmodel.h)

Il metodo PollUserInterrupt viene usato per verificare se l'utente dell'host di debug ha richiesto un'interruzione dell'operazione corrente. Una funzione di accesso alle proprietà nel modello di dati può, ad esempio, chiamare nel codice arbitrario (ad esempio, un metodo JavaScript). Tale codice può richiedere un intervallo di tempo arbitrario. Per mantenere reattivo l'host di debug, qualsiasi codice che può richiedere un intervallo di tempo arbitrario deve verificare la presenza di una richiesta di interruzione chiamando questo metodo. Se il valore interruptRequested viene restituito come true, il chiamante deve interrompere immediatamente e restituire un risultato di E_ABORT.

È importante che qualsiasi chiamante delle API del modello di dati che riceve un errore di E_ABORT propagare l'errore verso l'esterno e non ingoiare solo esso.

Alcuni host (in particolare, Debug Tools for Windows) possono scegliere di non eseguire richieste che si verificano mentre un interruzione è in sospeso. In tali circostanze, molte chiamate di metodo alle interfacce IDebugHost* restituiranno E_ABORT fino a quando il controllo non viene restituito all'host di debug.

Sintassi

HRESULT PollUserInterrupt(
  bool *interruptRequested
);

Parametri

interruptRequested

Indica se viene restituito un interruzione utente o meno. Se il valore restituito è true, il chiamante deve arrestare immediatamente ciò che sta facendo e propagare il codice di errore E_ABORT verso l'esterno.

Valore restituito

Questo metodo restituisce HRESULT che indica l'esito positivo o l'errore.

Commenti

Codice di esempio

// within some method...
ComPtr<IDebugHost> spHost; /* get the host*/

ComPtr<IDebugHostStatus> spStatus;
spHost.As(&spStatus);

bool isInterruptRequested;
if (spStatus != nullptr && SUCCEEDED(spStatus->PollUserInterrupt(&isInterruptRequested)) && isInterruptRequested)
{
    // This is the return code to indicate a user initiated abort.
    return E_ABORT;
}

Requisiti

Requisito Valore
Intestazione dbgmodel.h

Vedi anche

Interfaccia IDebugHostStatus