DkmRuntimeFunctionResolutionRequest Classe

Definição

DkmRuntimeFunctionResolutionRequest representa uma expressão a ser analisada e avaliada por um avaliador de expressão baseado em tempo de execução e está associada a um processo específico. As resoluções enviarão eventos DkmModuleInstance:: FunctionResolved.

public ref class DkmRuntimeFunctionResolutionRequest : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("b102c225-ea38-8242-7787-f48cda1e12e9")]
public class DkmRuntimeFunctionResolutionRequest : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("b102c225-ea38-8242-7787-f48cda1e12e9")>]
type DkmRuntimeFunctionResolutionRequest = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmRuntimeFunctionResolutionRequest
Inherits DkmDataContainer
Implements IDisposable
Herança
DkmRuntimeFunctionResolutionRequest
Atributos
Implementações

Propriedades

CompilerId

Idioma/fornecedor da solicitação. O fornecedor geralmente é definido como GUID. Empty. O idioma e o fornecedor serão definidos como GUID. Empty para os pontos de interrupção de função definidos com um idioma ' desconhecido '.

FunctionName

O nome da função para a qual resolver.

IsUnloaded

Retornará true se um evento ' Unloaded ' tiver sido gerado para este objeto (exemplo: DkmThread:: Unload é chamado) ou se o objeto foi fechado. Observe que o cuidado deve ser usado ao verificar esse status como, sem sincronização, o status retornado pode não ser mais preciso na instrução após sua leitura.

(Herdado de DkmDataContainer)
LineOffset

O deslocamento de linha do início da função a ser associada.

ModuleName

O nome do módulo para o qual resolver.

Process

DkmProcess representa um processo de destino que está sendo depurado. O depurador debugs processa, portanto, essa é a unidade básica de depuração. Um DkmProcess pode representar um processo do sistema ou um processo virtual, como minidespejos.

SearchFlags

Sinalizadores que afetam o modo como uma pesquisa deve ser executada.

UniqueId

Identifica exclusivamente o objeto DkmRuntimeFunctionResolutionRequest.

Métodos

Close()

Fecha o objeto DkmRuntimeFunctionResolutionRequest. Depois que isso for fechado, nenhuma nova resoluções será enviada.

Os objetos DkmRuntimeFunctionResolutionRequest são fechados automaticamente quando seu objeto DkmProcess associado é fechado.

Esse método só pode ser chamado pelo componente que criou o objeto.

Create(DkmProcess, DkmCompilerId, String, UInt32, String, DkmAddressSearchFlags, DkmDataItem)

Crie uma nova instância do objeto DkmRuntimeFunctionResolutionRequest. O chamador é responsável por fechar o objeto criado depois que eles são concluídos.

EnableResolution(DkmWorkList)

Chamado pelo Gerenciador de ponto de interrupção para adicionar uma solicitação de resolução pendente. Avaliadores de expressão ou outros componentes tentarão imediatamente associar o ponto de interrupção em relação aos módulos atuais e associará o ponto de interrupção a locais adicionais conforme os módulos são carregados. O chamador desta interface deve implementar IDkmRuntimeFunctionResolverClient para obter os resultados da resolução.

As implementações dessa interface devem parar de tentar associar o ponto de interrupção quando o objeto DkmRuntimeFunctionResolutionRequest é fechado.

Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão.

GetDataItem<T>()

Obtém a instância de ' T' que foi adicionada a esta instância de contêiner. Se esse contêiner não contiver um ' T', essa função retornará NULL.

(Herdado de DkmDataContainer)
OnFunctionResolved(DkmInstructionAddress)

Chamado por resolvedores de função de tempo de execução quando uma nova resolução foi descoberta para uma instância de DkmRuntimeFunctionResolutionRequest.

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

OnFunctionResolved(DkmWorkList, DkmInstructionAddress, DkmCompletionRoutine<DkmOnFunctionResolvedAsyncResult>)

Chamado por resolvedores de função de tempo de execução quando uma nova resolução foi descoberta para uma instância de DkmRuntimeFunctionResolutionRequest.

Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão.

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

OnResolverMessage(DkmBreakpointMessageLevel, String)

Chamado por resolvedores de função de tempo de execução quando o resolvedor deseja notificar seu cliente, ocorreu um erro/aviso ao tentar resolver o ponto de interrupção.

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

OnResolverMessage(DkmWorkList, DkmBreakpointMessageLevel, String, DkmCompletionRoutine<DkmOnResolverMessageAsyncResult>)

Chamado por resolvedores de função de tempo de execução quando o resolvedor deseja notificar seu cliente, ocorreu um erro/aviso ao tentar resolver o ponto de interrupção.

Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão.

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

RemoveDataItem<T>()

Remova a instância de ' T' deste contêiner. Normalmente, é desnecessário chamar esse método, pois um contêiner de dados será automaticamente esvaziado quando o objeto for fechado.

(Herdado de DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Coloque um novo item no contêiner de dados.

(Herdado de DkmDataContainer)

Implantações explícitas de interface

IDisposable.Dispose()

Aplica-se a