Condividi tramite


Metodo IXCLRDataProcess::FollowStub2

Dato un indirizzo che è uno stub CLR (e potenzialmente in stato da un follow precedente) determinare l'indirizzo di esecuzione successivo in corrispondenza del quale controllare se lo stub è stato chiuso.

NOTA: questo metodo è disponibile solo se la revisione del processo restituita da IXCLRDataProcess::Request è almeno 7. Per le revisioni di processi inferiori, i chiamanti devono usare il metodo obsoleto IXCLRDataProcess::FollowStub .

Nota

Questa API è stata originariamente progettata per l'uso interno nel runtime. Sebbene sia ora supportato per l'uso di terze parti, è consigliabile usare ICorDebug le API e ICorProfiler quando possibile.

Sintassi

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
);

Parametri

task
[in] Attività per cui seguire lo stub.

inFlags
[in] Set di flag che descrivono come seguire lo stub. Deve essere un valore dell'enumerazione CLRDataFollowStubInFlag che attualmente contiene un solo valore: CLRDATA_FOLLOW_STUB_DEFAULT (0).

inAddr
[in] Indirizzo dello stub da seguire

inBuffer
[in] Buffer di dati opaco usato internamente per mantenere lo stato di una catena di stub. Deve essere NULL nella chiamata iniziale al FollowStub metodo .

outAddr
[out] Indirizzo di esecuzione successivo determinato dal seguente stub.

outBuffer
[out] Buffer di dati opaco usato internamente per mantenere lo stato di una catena di stub.

outFlags
[out] Set di flag che descrivono il risultato di seguito allo stub. Si tratta di un valore dell'enumerazione CLRDataFollowStubOutFlag . Se il valore è CLRDATA_FOLLOW_STUB_INTERMEDIATE (0), il risultato è un passaggio intermedio che segue lo stub e il chiamante può chiamare di nuovo FollowStub. Se il valore è CLRDATA_FOLLOW_STUB_EXIT (1), si tratta della fine della catena di stub e outAddr corrisponde all'indirizzo di esecuzione alla fine della catena.

Osservazioni:

Un indirizzo specificato può essere determinato come uno stub o meno tramite l'utilizzo del IXCLRDataProcess::GetAddressType metodo che restituisce un tipo di CLRDATA_ADDRESS_RUNTIME_MANAGED_STUB o CLRDATA_ADDRESS_RUNTIME_UNMANAGED_STUB.

Il metodo fornito fa parte dell'interfaccia IXCLRDataProcess e corrisponde al 48° slot della tabella dei metodi virtuali.

Requisiti

Piattaforme: vedere Requisiti di sistema. Intestazione: Nessuna libreria: Nessuna versione di .NET Framework: disponibile dalla versione 4.7

Vedi anche