The SetInterrupt method registers a user interrupt or breaks into the debugger.
HRESULT SetInterrupt( ULONG Flags );
Specifies the type of interrupt to register. Flags can take one of the values listed in the following table.
If the target is running, the engine will request a break into the debugger. This request might time out. For more information, see the "Remarks" section.
Otherwise, when the target is suspended, the engine will register a user interrupt.
|DEBUG_INTERRUPT_PASSIVE||The engine will register a user interrupt.|
If there is currently a WaitForEvent call running, the engine will force it to return. If there are any debugger commands causing execution in the target -- for example, g (Go) and p (Step) -- the engine will force them to complete. This does not force a break into the debugger, so the target might not be suspended. In which case, the WaitForEvent call will return E_PENDING.
Otherwise, when the target is suspended, register a user interrupt.
This method may also return error values. See Return Values for more details.
||The method was successful.|
This method can be called at any time and from any thread. Once the interrupt has been registered, this method returns immediately.
If Flags is DEBUG_INTERRUPT_ACTIVE, and the interrupt times out, the engine will generate a synthetic exception event. This event will be sent to event callback's IDebugEventCallbacks::Exception method. The amount of time before the interrupt times out can be set using SetInterruptTimeout.
|Header||dbgeng.h (include Dbgeng.h)|
Send feedback about: