Метод IDebugControl3::SetInterrupt (dbgeng.h)

Метод SetInterrupt регистрирует прерывание пользователя или прерывает работу отладчика.

Синтаксис

HRESULT SetInterrupt(
  [in] ULONG Flags
);

Параметры

[in] Flags

Указывает тип прерывания для регистрации. Флаги могут принимать одно из значений, перечисленных в следующей таблице.

Ценность Описание
DEBUG_INTERRUPT_ACTIVE Если целевой объект запущен, обработчик запрашивает разрыв в отладчике. Этот запрос может истекает. Дополнительные сведения см. в разделе "Примечания".

В противном случае при приостановке целевого объекта подсистема регистрирует прерывание пользователя.

DEBUG_INTERRUPT_PASSIVE Обработчик зарегистрирует прерывание пользователя.
DEBUG_INTERRUPT_EXIT Если в настоящее время выполняется вызов WaitForEvent, подсистема принудительно вернет его. Если в целевом объекте есть команды отладчика, вызывающие выполнение, например, g (Go) и p (шаг) - подсистема принудительно выполнит их. Это не приводит к принудительному разрыву отладчика, поэтому целевой объект не может быть приостановлен. В этом случае вызов WaitForEvent возвращает E_PENDING.

В противном случае при приостановке целевого объекта зарегистрируйте прерывание пользователя.

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

Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в возвращаемых значений.

Возвращаемый код Описание
S_OK
Метод был успешным.

Замечания

Этот метод можно вызывать в любое время и из любого потока. После регистрации прерывания этот метод возвращается немедленно.

Если флаги DEBUG_INTERRUPT_ACTIVE и время ожидания прерывания, подсистема создаст событие искусственного исключения. Это событие будет отправлено в метод обратного вызова события IDebugEventCallbacks::Exception. Время ожидания прерывания можно задать с помощью SetInterruptTimeout.

Требования

Требование Ценность
целевая платформа Настольный
заголовка dbgeng.h (include Dbgeng.h)

См. также

GetInterrupt

GetInterruptTimeout

IDebugControl

IDebugControl2

IDebugControl3

SetInterruptTimeout