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


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

Метод PollUserInterrupt используется для проверки того, запрашивает ли пользователь узла отладки прерывание текущей операции. Метод доступа к свойствам в модели данных может, например, вызывать произвольный код (например, метод JavaScript). Этот код может занять произвольное время. Чтобы обеспечить скорость реагирования узла отладки, любой такой код, который может занять произвольное время, должен проверять запрос на прерывание с помощью вызова этого метода. Если значение прерывания Возвращается как 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