Metodo IXCLRDataProcess::FollowStub
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 è obsoleto. I chiamanti devono utilizzare IXCLRDataProcess::FollowStub2
ogni volta che sono disponibili. Tale valore è disponibile se la revisione del processo restituita da IXCLRDataProcess::Request
è almeno 7.
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] 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
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 47° 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