Compartilhar via


Método IXCLRDataProcess::FollowStub2

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

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

Observação

Essa API foi originalmente desenvolvida para uso interno no runtime. Embora ela agora tenha suporte para uso de terceiros, recomendamos trabalhar com as APIs ICorDebug e ICorProfiler 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 stub.

inFlags
[em] Um conjunto de sinalizadores que descrevem 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 caminhada de uma cadeia de stubs. Isso deve ser NULL na chamada inicial para o FollowStub método.

outAddr
[fora] O próximo endereço de execução determinado a partir do stub.

outBuffer
[fora] Um buffer de dados opaco usado internamente para manter o estado de caminhada de uma cadeia de stubs.

outFlags
[fora] Um conjunto de sinalizadores 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 será uma etapa intermediária após o stub e o chamador poderá chamar FollowStub novamente. Se o valor for CLRDATA_FOLLOW_STUB_EXIT (1), este é o final da cadeia de stub e o outAddr é o endereço de execução no final da cadeia.

Comentários

Um determinado endereço pode ser determinado como um stub ou não por meio 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: confira Requisitos do sistema. Cabeçalho: nenhum Biblioteca: nenhuma Versões do .NET Framework: disponíveis desde 4.7

Confira também