IDkmSteppingManagerCallback.OnCrossThreadStepArbitration Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Called by a runtime monitor when a step is continuing on a different thread. The stepping manager will create a new DkmStepper to be used on the new thread and initiate stepping arbitration to determine which runtime should complete the step just as OnStepArbitration does. The new stepper uses the same step kind and step unit as the original stepper. A new starting instruction address must be given and is set as the stepper's starting address. The original stepper remains alive and when the new stepper completes the stepping manager will suppress the event and notify the original stepper of the completion.
public:
void OnCrossThreadStepArbitration(Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ stepper, Microsoft::VisualStudio::Debugger::Stepping::DkmStepArbitrationReason reason, Microsoft::VisualStudio::Debugger::DkmRuntimeInstance ^ currentControllingRuntimeInstance, Microsoft::VisualStudio::Debugger::DkmThread ^ newThread, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ newStartingInstructionAddress, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ % newStepper);
public void OnCrossThreadStepArbitration (Microsoft.VisualStudio.Debugger.Stepping.DkmStepper stepper, Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason reason, Microsoft.VisualStudio.Debugger.DkmRuntimeInstance currentControllingRuntimeInstance, Microsoft.VisualStudio.Debugger.DkmThread newThread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress newStartingInstructionAddress, out Microsoft.VisualStudio.Debugger.Stepping.DkmStepper newStepper);
public void OnCrossThreadStepArbitration (Microsoft.VisualStudio.Debugger.Stepping.DkmStepper stepper, Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason reason, Microsoft.VisualStudio.Debugger.DkmRuntimeInstance currentControllingRuntimeInstance, Microsoft.VisualStudio.Debugger.DkmThread newThread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress newStartingInstructionAddress, out Microsoft.VisualStudio.Debugger.Stepping.DkmStepper? newStepper);
abstract member OnCrossThreadStepArbitration : Microsoft.VisualStudio.Debugger.Stepping.DkmStepper * Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason * Microsoft.VisualStudio.Debugger.DkmRuntimeInstance * Microsoft.VisualStudio.Debugger.DkmThread * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * DkmStepper -> unit
Public Sub OnCrossThreadStepArbitration (stepper As DkmStepper, reason As DkmStepArbitrationReason, currentControllingRuntimeInstance As DkmRuntimeInstance, newThread As DkmThread, newStartingInstructionAddress As DkmInstructionAddress, ByRef newStepper As DkmStepper)
Parameters
- stepper
- DkmStepper
[In] DkmStepper represents a request to step a thread. It facilitates shared object lifetime between the various runtime debug monitors that participate in stepping.
- reason
- DkmStepArbitrationReason
[In] DkmStepArbitrationReason the reason step arbitration is occurring.
- currentControllingRuntimeInstance
- DkmRuntimeInstance
[In] The runtime instance requesting arbitration.
- newThread
- DkmThread
[In] The thread on which to create the new stepper.
- newStartingInstructionAddress
- DkmInstructionAddress
[In] Starting address of the new stepper.
- newStepper
- DkmStepper
[Out,Optional] The new stepper.