Compartir a través de


ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs (Método)

Obtiene el valor de FunctionID de una función utilizando el símbolo (token) de metadatos especificado, la clase contenedora y los valores de ClassID de los argumentos de tipo.

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] Identificador del módulo donde reside la función.

  • funcDef
    [in] Símbolo (token) de metadatos mdMethodDef que hace referencia a la función.

  • classId
    [in] Id. de la clase contenedora de la función.

  • cTypeArgs
    [in] Número de parámetros de tipo para la función dada. 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 a FunctionID para la función especificada.

Comentarios

Llamar al método GetFunctionFromTokenAndTypeArgs con los metadatos de mdMethodRef en lugar de un token de metadatos de mdMethodDef puede tener resultados imprevisibles. Los llamadores deben resolver mdMethodRef como mdMethodDef al pasarlo.

Si la función no se ha cargado todavía, al llamar a GetFunctionFromTokenAndTypeArgs se desencadena la carga, una operación peligrosa en muchos contextos. Por ejemplo, al llamar a este método durante la carga de módulos o tipos, se podría producir un bucle infinito mientras el motor en tiempo de ejecución intenta la carga circular.

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

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vea también

Referencia

ICorProfilerInfo (Interfaz)

ICorProfilerInfo2 (Interfaz)