DkmRuntimeInstance.TakeStepControl(DkmStepper, Boolean, DkmStepArbitrationReason, DkmRuntimeInstance) Método

Definição

TakeStepControl é chamado pelo Gerenciador de etapas quando uma instância de tempo de execução sem controle detecta que o thread atingiu uma transição para seu tempo de execução. O Gerenciador de etapas encaminhará a chamada para a instância atual de tempo de execução de controle. A instância de tempo de execução que solicita o controle deve primeiro chamar StepControlRequested em todos os que desejarem controlar. Se todos eles definirem concedido como true, a instância de tempo de execução deverá chamar esse método em cada stepper que estiver assumindo o controle de.

Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000).

public:
 void TakeStepControl(Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ Stepper, bool LeaveGuardsInPlace, Microsoft::VisualStudio::Debugger::Stepping::DkmStepArbitrationReason Reason, Microsoft::VisualStudio::Debugger::DkmRuntimeInstance ^ CallingRuntimeInstance);
public void TakeStepControl (Microsoft.VisualStudio.Debugger.Stepping.DkmStepper Stepper, bool LeaveGuardsInPlace, Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason Reason, Microsoft.VisualStudio.Debugger.DkmRuntimeInstance CallingRuntimeInstance);
member this.TakeStepControl : Microsoft.VisualStudio.Debugger.Stepping.DkmStepper * bool * Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason * Microsoft.VisualStudio.Debugger.DkmRuntimeInstance -> unit
Public Sub TakeStepControl (Stepper As DkmStepper, LeaveGuardsInPlace As Boolean, Reason As DkmStepArbitrationReason, CallingRuntimeInstance As DkmRuntimeInstance)

Parâmetros

Stepper
DkmStepper

No DkmStepper representa uma solicitação para a etapa de um thread. Ele facilita o tempo de vida do objeto compartilhado entre os vários monitores de depuração em tempo de execução que participam da depuração.

LeaveGuardsInPlace
Boolean

No Defina como true pelo chamador se quiser que a instância de tempo de execução de controle atual deixe as proteções em vigor para parar a etapa, se necessário. Por exemplo, isso pode ser usado para deixar pontos de interrupção de proteção após uma instrução de chamada para que outro tempo de execução possa voltar se o destino da chamada não tiver origem. No entanto, qualquer estado de depuração que afete a etapa imediata, como sinalizadores de interceptação, deve ser removido pela instância de tempo de execução de controle.

Reason
DkmStepArbitrationReason

No DkmStepArbitrationReason a etapa do motivo da arbitragem está ocorrendo.

CallingRuntimeInstance
DkmRuntimeInstance

No A instância de tempo de execução de chamada que deseja assumir o controle da etapa.

Aplica-se a