Compartilhar via


Método IXCLRDataProcess::FollowStub

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 está obsoleto. Os chamadores devem utilizar IXCLRDataProcess::FollowStub2 sempre que disponível. Isso estará disponível se a revisão do processo retornada por IXCLRDataProcess::Request for pelo menos 7.

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] 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

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 47º 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