IXCLRDataProcess::FollowStub2 – metoda
Vzhledem k adrese, která je zástupný procedurou CLR (a potenciálně stavem z předchozího postupu), určete další adresu spuštění, na které se má zkontrolovat, jestli se zástupný kód ukončil.
POZNÁMKA: Tato metoda je k dispozici pouze v případě, že revize procesu, jak je vrácena IXCLRDataProcess::Request
, alespoň 7. V případě revizí nižších procesů by volající měli použít zastaralou IXCLRDataProcess::FollowStub
metodu.
Poznámka:
Toto rozhraní API bylo původně navrženo pro interní použití v modulu runtime. I když se teď podporuje pro použití třetí strany, doporučujeme pracovat s rozhraními ICorDebug
API, ICorProfiler
pokud je to možné.
Syntaxe
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
);
Parametry
task
[v] Úkol, pro který chcete postupovat podle zástupných procedur.
inFlags
[v] Sada příznaků popisujících, jak postupovat podle zástupných procedur. Musí to být hodnota výčtu CLRDataFollowStubInFlag
, která v současnosti obsahuje pouze jednu hodnotu: CLRDATA_FOLLOW_STUB_DEFAULT (0).
inAddr
[v] Adresa zástupných procedur, která se má sledovat
inBuffer
[v] Neprůzná vyrovnávací paměť dat se používá interně k udržení stavu chůze řetězu zástupů. Při počátečním volání FollowStub
metody by to mělo být NULL.
outAddr
[ven] Další adresa spuštění určená z následujících zástupných procedur.
outBuffer
[ven] Neprůzná vyrovnávací paměť dat se používá interně k udržení stavu chůze řetězu zástupů.
outFlags
[ven] Sada příznaků popisujících výsledek následujících zástupných procedur. Toto je hodnota výčtu CLRDataFollowStubOutFlag
. Pokud je CLRDATA_FOLLOW_STUB_INTERMEDIATE
hodnota (0), výsledkem je průběžný krok následující za zástupným kódem a volající může znovu volat FollowStub. Pokud je CLRDATA_FOLLOW_STUB_EXIT
hodnota (1), jedná se o konec řetězce zástupných procedur a jedná se outAddr
o adresu spuštění na konci řetězce.
Poznámky
Danou adresu lze určit jako zástupný znak nebo nelze použít metodu IXCLRDataProcess::GetAddressType
vracející typ nebo CLRDATA_ADDRESS_RUNTIME_MANAGED_STUB
CLRDATA_ADDRESS_RUNTIME_UNMANAGED_STUB
.
Zadaná metoda je součástí IXCLRDataProcess
rozhraní a odpovídá 48. slotu tabulky virtuálních metod.
Požadavky
Platformy: Viz požadavky na systém. Hlavička: Žádná knihovna: Žádné verze rozhraní .NET Framework: Dostupné od verze 4.7