Compartir a través de


ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs (Método)

Obtiene el elemento FunctionID de una función mediante el token de metadatos especificado, que contiene la clase, y los valores ClassID de cualquier argumento de tipo.

Sintaxis

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

Parámetros

moduleID
[in] Id. del módulo en el que reside la función.

funcDef
[in] Token de metadatos mdMethodDef que hace referencia a la función.

classId
[in] Id. de la clase que contiene la función.

cTypeArgs
[in] Número de parámetros de tipo para la función especificada. Este valor debe ser cero para las funciones no genéricas.

typeArgs
[in] Matriz de valores ClassID, cada uno de los cuales es un argumento de la función. El valor de typeArgs puede ser null si cTypeArgs se establece en cero.

pFunctionID
[out] Puntero al elemento FunctionID de la función especificada.

Comentarios

Llamar al método GetFunctionFromTokenAndTypeArgs con metadatos mdMethodRef en lugar de con un token de metadatos mdMethodDef puede tener resultados impredecibles. Los autores de llamadas deben resolver mdMethodRef en un elemento mdMethodDef al pasarlo.

Si la función aún no está cargada, llamar a GetFunctionFromTokenAndTypeArgs hará que se produzca la carga, lo que en muchos contextos es una operación peligrosa. Por ejemplo, llamar a este método durante la carga de módulos o tipos podría dar lugar a un bucle infinito cuando el runtime intenta cargar elementos de forma circular.

En general, se desaconseja el uso de GetFunctionFromTokenAndTypeArgs. Si los generadores de perfiles están interesados en eventos de una función determinada, deben almacenar los elementos ModuleID y mdMethodDef de esa función, y usar ICorProfilerInfo2::GetFunctionInfo2 para comprobar si un elemento FunctionID determinado es el de la función deseada.

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versiones de .NET Framework: disponible a partir de la versión 2.0

Consulte también