Partager via


IDebugHostStatus ::P ollUserInterrupt, méthode (dbgmodel.h)

La méthode PollUserInterrupt est utilisée pour déterminer si l’utilisateur de l’hôte de débogage a demandé une interruption de l’opération actuelle. Un accesseur de propriété dans le modèle de données peut, par exemple, appeler du code arbitraire (par exemple, une méthode JavaScript). Ce code peut prendre un certain temps. Afin de maintenir la réactivité de l’hôte de débogage, tout code de ce type qui peut prendre un certain temps doit rechercher une demande d’interruption via l’appel de cette méthode. Si la valeur interruptRequested revient comme true, l’appelant doit immédiatement abandonner et retourner un résultat de E_ABORT.

Il est important que tout appelant d’API de modèle de données qui reçoit une erreur de E_ABORT propage cette erreur vers l’extérieur et ne l’avale pas seulement.

Certains hôtes (en particulier, outils de débogage pour Windows) peuvent choisir d’échouer les demandes qui se produisent pendant qu’une interruption est en attente. Dans de telles circonstances, de nombreux appels de méthode à IDebugHost* les interfaces retournent E_ABORT jusqu’à ce que le contrôle soit retourné à l’hôte de débogage.

Syntaxe

HRESULT PollUserInterrupt(
  bool *interruptRequested
);

Paramètres

interruptRequested

Indique si une interruption utilisateur est en attente ou non est retournée. Si la valeur retournée est true, l’appelant doit immédiatement arrêter ce qu’il fait et propager le code d’erreur E_ABORT vers l’extérieur.

Valeur de retour

Cette méthode retourne HRESULT qui indique la réussite ou l’échec.

Remarques

exemple de code

// 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;
}

Exigences

Exigence Valeur
d’en-tête dbgmodel.h

Voir aussi

interface IDebugHostStatus