DkmStepper.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.
Location constraint: API must be called from a Monitor component (component level < 100,000).
public:
void OnCrossThreadStepArbitration(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.DkmStepArbitrationReason Reason, Microsoft.VisualStudio.Debugger.DkmRuntimeInstance CurrentControllingRuntimeInstance, Microsoft.VisualStudio.Debugger.DkmThread NewThread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress NewStartingInstructionAddress, out Microsoft.VisualStudio.Debugger.Stepping.DkmStepper NewStepper);
member this.OnCrossThreadStepArbitration : Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason * Microsoft.VisualStudio.Debugger.DkmRuntimeInstance * Microsoft.VisualStudio.Debugger.DkmThread * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * DkmStepper -> unit
Public Sub OnCrossThreadStepArbitration (Reason As DkmStepArbitrationReason, CurrentControllingRuntimeInstance As DkmRuntimeInstance, NewThread As DkmThread, NewStartingInstructionAddress As DkmInstructionAddress, ByRef NewStepper As DkmStepper)
Parameters
- 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.