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