Sdílet prostřednictvím


IXCLRDataProcess::FollowStub – 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 zastaralá. Volající by měli využívat IXCLRDataProcess::FollowStub2 , kdykoli je k dispozici. Tato možnost je k dispozici, pokud je revize procesu vrácená IXCLRDataProcess::Request alespoň 7.

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

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á 47. 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

Viz také