DkmRuntimeInstance.TakeStepControl(DkmStepper, Boolean, DkmStepArbitrationReason, DkmRuntimeInstance) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.