Поделиться через


Метод IDebugHostStatus::P ollUserInterrupt (dbgmodel.h)

Метод PollUserInterrupt используется для проверки того, запросил ли пользователь узла отладки прерывание текущей операции. Метод доступа к свойству в модели данных может, например, вызывать произвольный код (например, метод JavaScript). Этот код может занять произвольное время. Чтобы обеспечить реагирование узла отладки, любой такой код, который может занять произвольное количество времени, должен проверка для запроса прерывания с помощью вызова этого метода. Если значение interruptRequested возвращается как true, вызывающий объект должен немедленно прервать и вернуть результат E_ABORT.

Важно, чтобы любой вызывающий api модели данных, получающий ошибку E_ABORT распространял ошибку наружу, а не поглощал только ее.

Некоторые узлы (в частности, средства отладки для Windows) могут выбрать неудачные запросы, возникающие во время ожидания прерывания. В таких случаях многие вызовы методов интерфейсов IDebugHost* будут возвращать E_ABORT, пока элемент управления не вернется на узел отладки.

Синтаксис

HRESULT PollUserInterrupt(
  bool *interruptRequested
);

Параметры

interruptRequested

Возвращается ли ожидание прерывания пользователя. Если возвращенное значение равно true, вызывающий объект должен немедленно прекратить действия и распространить код ошибки E_ABORT наружу.

Возвращаемое значение

Этот метод возвращает HRESULT, который указывает на успех или сбой.

Комментарии

Образец кода

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

Требования

Требование Значение
Заголовок dbgmodel.h

См. также раздел

Интерфейс IDebugHostStatus