DkmStepper.OnCrossThreadStepArbitration(DkmStepArbitrationReason, DkmRuntimeInstance, DkmThread, DkmInstructionAddress, DkmStepper) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Appelée par un moniteur d’exécution lorsqu’une étape se poursuit sur un thread différent. Le gestionnaire de pas à pas crée un nouveau DkmStepper à utiliser sur le nouveau thread et lance l’arbitrage de pas à pas pour déterminer le runtime qui doit effectuer l’étape comme OnStepArbitration. La nouvelle exécution pas à pas utilise le même type d’étape et l’autre unité d’étape que le pas à pas d’origine. Une nouvelle adresse d’instruction de départ doit être fournie et définie comme adresse de départ de l’exécution pas à pas. Le pas à pas d’origine reste actif et lorsque la nouvelle exécution pas à pas est terminée, le gestionnaire de pas à pas supprime l’événement et notifie le pas à pas d’origine de la fin de l’exécution.
Contrainte d’emplacement : l’API doit être appelée à partir d’un composant d’analyse (au niveau du composant < 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)
Paramètres
- Reason
- DkmStepArbitrationReason
Dans DkmStepArbitrationReason : la raison pour laquelle l’arbitrage est en cours.
- CurrentControllingRuntimeInstance
- DkmRuntimeInstance
Dans Instance du runtime demandant l’arbitrage.
- NewThread
- DkmThread
Dans Thread sur lequel créer la nouvelle exécution pas à pas.
- NewStartingInstructionAddress
- DkmInstructionAddress
Dans Adresse de début de la nouvelle exécution pas à pas.
- NewStepper
- DkmStepper
[Out, optional] Nouvelle exécution pas à pas.