Condividi tramite


Metodo ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs

Ottiene l'oggetto FunctionID di una funzione utilizzando il token di metadati specificato, contenente la classe e ClassID i valori di qualsiasi argomento di tipo.

Sintassi

HRESULT GetFunctionFromTokenAndTypeArgs(  
    [in] ModuleID moduleID,  
    [in] mdMethodDef funcDef,  
    [in] ClassID classId,  
    [in] ULONG32 cTypeArgs,  
    [in, size_is(cTypeArgs)] ClassID typeArgs[],  
    [out] FunctionID* pFunctionID);  

Parametri

moduleID
[in] ID del modulo in cui risiede la funzione.

funcDef
[in] Token mdMethodDef di metadati che fa riferimento alla funzione.

classId
[in] ID della classe contenitore della funzione.

cTypeArgs
[in] Numero di parametri di tipo per la funzione specificata. Questo valore deve essere zero per le funzioni non generice.

typeArgs
[in] Matrice di ClassID valori, ognuna delle quali è un argomento della funzione. Il valore di typeArgs può essere NULL se cTypeArgs è impostato su zero.

pFunctionID
[out] Puntatore all'oggetto FunctionID della funzione specificata.

Commenti

La chiamata al GetFunctionFromTokenAndTypeArgs metodo con metadati mdMethodRef anziché un mdMethodDef token di metadati può avere risultati imprevedibili. I chiamanti devono risolvere l'oggetto mdMethodRef in un mdMethodDef oggetto durante il passaggio.

Se la funzione non è già caricata, la chiamata GetFunctionFromTokenAndTypeArgs causerà l'esecuzione del caricamento, operazione pericolosa in molti contesti. Ad esempio, la chiamata a questo metodo durante il caricamento di moduli o tipi potrebbe causare un ciclo infinito quando il runtime tenta di caricare in modo circolare gli elementi.

In generale, l'uso di GetFunctionFromTokenAndTypeArgs è sconsigliato. Se i profiler sono interessati a eventi per una determinata funzione, devono archiviare e ModuleIDmdMethodDef di tale funzione e usare ICorProfilerInfo2::GetFunctionInfo2 per verificare se una determinata FunctionID funzione è quella della funzione desiderata.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile dalla versione 2.0

Vedi anche