Metodo ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs
Ottiene il valore FunctionID di una funzione utilizzando il token di metadati specificato, la classe contenitore e i valori ClassID di tutti gli argomenti di tipo.
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 nel quale risiede la funzione.funcDef
[in] Token di metadati mdMethodDef 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 generiche.typeArgs
[in] Matrice di valori ClassID, ognuno dei quali è un argomento della funzione. Il valore di typeArgs può essere NULL se cTypeArgs è impostato su zero.pFunctionID
[out] Puntatore a FunctionID della funzione specificata.
Note
La chiamata del metodo GetFunctionFromTokenAndTypeArgs con metadati mdMethodRef anziché un token di metadati mdMethodDef può avere risultati imprevedibili. I chiamanti devono risolvere mdMethodRef in mdMethodDef al momento del passaggio.
Se la funzione non è già caricata, la chiamata a GetFunctionFromTokenAndTypeArgs darà luogo al caricamento, operazione pericolosa in molti contesti. Ad esempio, la chiamata a questo metodo durante il caricamento di moduli o tipi può causare un ciclo infinito, dal momento che il runtime tenta di caricare circolarmente gli elementi.
Si sconsiglia generalmente l'utilizzo di GetFunctionFromTokenAndTypeArgs. Se i profiler sono interessati agli eventi per una determinata funzione, devono archiviare le proprietà ModuleID e mdMethodDef di quella funzione e utilizzare ICorProfilerInfo2::GetFunctionInfo2 per controllare se un dato valore FunctionID è quello della funzione desiderata.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorProf.idl, CorProf.h
Libreria: CorGuids.lib
Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0