DkmStepper.TakeStepControl 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当非控制运行时实例检测到线程已进入其运行时中时,将调用 TakeStepControl。 步进管理器将调用当前控制运行时实例。 请求控件的运行时实例应该首先对其要控制的所有 steppers 调用 StepControlRequested。 如果将所有设置都授予 true,则运行时实例应在控制的每个分档器上调用此方法。
位置约束:必须从监视器组件 (组件级别 100000) 中调用 API < 。
public:
void TakeStepControl(bool LeaveGuardsInPlace, Microsoft::VisualStudio::Debugger::Stepping::DkmStepArbitrationReason Reason, Microsoft::VisualStudio::Debugger::DkmRuntimeInstance ^ CallingRuntimeInstance);
public void TakeStepControl (bool LeaveGuardsInPlace, Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason Reason, Microsoft.VisualStudio.Debugger.DkmRuntimeInstance CallingRuntimeInstance);
member this.TakeStepControl : bool * Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason * Microsoft.VisualStudio.Debugger.DkmRuntimeInstance -> unit
Public Sub TakeStepControl (LeaveGuardsInPlace As Boolean, Reason As DkmStepArbitrationReason, CallingRuntimeInstance As DkmRuntimeInstance)
参数
- LeaveGuardsInPlace
- Boolean
中如果调用方想要使用当前控制运行时实例来保留保护,则调用方将设置为 true,以便在必要时停止此步骤。 例如,这可用于在调用指令后保留防护断点,因此,如果调用的目标没有源,则其他运行时可以单步执行。 但是,影响直属步骤的任何步进状态(如陷阱标志)都应由控制运行时实例删除。
- Reason
- DkmStepArbitrationReason
中DkmStepArbitrationReason 发生步骤仲裁的原因。
- CallingRuntimeInstance
- DkmRuntimeInstance
中需要控制步骤的调用运行时实例。