Compartilhar via


Método ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs

Obtém o FunctionID de uma função usando o token de metadados especificado, que contém a classe, e ClassID valores de quaisquer 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] A ID do módulo no qual reside a função.

  • funcDef
    [in] An mdMethodDef token de metadados que faz referência a função.

  • classId
    [in] A ID da classe da função.

  • cTypeArgs
    [in] O número de parâmetros para a função determinada. Esse valor deve ser zero para funções não-genéricas.

  • typeArgs
    [in] Uma matriz de ClassID valores, cada um deles é um argumento da função. O valor de typeArgs pode ser nulo se cTypeArgs é definido como zero.

  • pFunctionID
    [out] Um ponteiro para o FunctionID da função especificada.

Comentários

Chamando o GetFunctionFromTokenAndTypeArgs método com um mdMethodRef metadados, em vez de um mdMethodDef token de metadados pode gerar resultados imprevisíveis. Os chamadores devem resolver o mdMethodRef para um mdMethodDef Quando passando para ele.

Se a função não estiver já carregada, chamada GetFunctionFromTokenAndTypeArgs fará com que o carregamento ocorra, que é uma operação perigosa em vários contextos. Por exemplo, chamar este método durante o carregamento de módulos ou tipos pode levar a um loop infinito conforme o tempo de execução tenta carregar circularmente coisas.

Em geral, use de GetFunctionFromTokenAndTypeArgs é desencorajado. Se geradores de perfis estiver interessados em eventos para uma função específica, eles devem armazenar o ModuleID e mdMethodDef dessa função e uso ICorProfilerInfo2::GetFunctionInfo2 para verificar se um determinado FunctionID é a função desejada.

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: CorProf.idl

Biblioteca: CorGuids.lib

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface ICorProfilerInfo

Interface ICorProfilerInfo2