Condividi tramite


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

Vedere anche

Riferimenti

Interfaccia ICorProfilerInfo

Interfaccia ICorProfilerInfo2