Partilhar via


IXCLRDataProcess::Método FollowStub2

Dado um endereço que é um stub CLR (e potencialmente estado de um seguimento anterior), determine o próximo endereço de execução no qual verificar se o stub foi encerrado.

NOTA: Este método só está disponível se a revisão do processo como retornada por IXCLRDataProcess::Request é pelo menos 7. Para revisões de processo mais baixas, os chamadores devem usar o método obsoleto IXCLRDataProcess::FollowStub .

Nota

Esta API foi originalmente projetada para uso interno no tempo de execução. Embora agora seja suportado para uso de terceiros 3rd, recomendamos trabalhar com ICorDebug e ICorProfiler APIs quando possível.

Sintaxe

HRESULT FollowStub(
    [in] IXCLRDataTask *task,
    [in] ULONG32 inFlags,
    [in] CLRDATA_ADDRESS inAddr,
    [in] CLRDATA_FOLLOW_STUB_BUFFER *inBuffer,
    [out] CLRDATA_ADDRESS *outAddr,
    [out] CLRDATA_FOLLOW_STUB_BUFFER *outBuffer,
    [out] ULONG32 *outFlags
);

Parâmetros

task
[em] A tarefa para a qual seguir o esboço.

inFlags
[em] Um conjunto de bandeiras descrevendo como seguir o esboço. Este deve ser um valor da CLRDataFollowStubInFlag enumeração que atualmente contém apenas um valor: CLRDATA_FOLLOW_STUB_DEFAULT (0).

inAddr
[em] O endereço do esboço a seguir

inBuffer
[em] Um buffer de dados opaco usado internamente para manter o estado de andar uma cadeia de stubs. Isso deve ser NULL na chamada inicial para o FollowStub método.

outAddr
[saídas] O próximo endereço de execução determinado a partir de seguir o esboço.

outBuffer
[saídas] Um buffer de dados opaco usado internamente para manter o estado de andar uma cadeia de stubs.

outFlags
[saídas] Um conjunto de bandeiras que descrevem o resultado de seguir o esboço. Este é um valor da CLRDataFollowStubOutFlag enumeração. Se o valor for CLRDATA_FOLLOW_STUB_INTERMEDIATE (0), o resultado é uma etapa intermediária no seguimento do stub e o chamador pode chamar FollowStub novamente. Se o valor for CLRDATA_FOLLOW_STUB_EXIT (1), este é o fim da cadeia de stub e o é o outAddr endereço de execução no final da cadeia.

Observações

Um determinado endereço pode ser determinado como sendo um stub ou não através do uso do IXCLRDataProcess::GetAddressType método que retorna um tipo de CLRDATA_ADDRESS_RUNTIME_MANAGED_STUB ou CLRDATA_ADDRESS_RUNTIME_UNMANAGED_STUB.

O método fornecido faz parte da IXCLRDataProcess interface e corresponde ao 48º slot da tabela de métodos virtuais.

Requisitos

Plataformas: Consulte Requisitos do sistema. Cabeçalho: Nenhuma Biblioteca: Nenhuma Versões do .NET Framework: Disponível desde 4.7

Consulte também