Метод ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs

FunctionID Возвращает объект функции с использованием указанного маркера метаданных, содержащего класс и ClassID значения аргументов любого типа.

Синтаксис

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

Параметры

moduleID
[in] Идентификатор модуля, в котором находится функция.

funcDef
[in] Маркер mdMethodDef метаданных, ссылающийся на функцию.

classId
[in] Идентификатор класса, содержащего функцию.

cTypeArgs
[in] Количество параметров типа для данной функции. Это значение должно быть нулевым для неуниверсических функций.

typeArgs
[in] Массив значений ClassID , каждое из которых является аргументом функции. Значение typeArgs может иметь значение NULL, если cTypeArgs задано значение 0.

pFunctionID
[out] Указатель на объект FunctionID указанной функции.

Комментарии

GetFunctionFromTokenAndTypeArgs Вызов метода с метаданными mdMethodRef вместо маркера метаданных mdMethodDef может иметь непредсказуемые результаты. Вызывающие абоненты должны разрешать mdMethodRef в при mdMethodDef передаче.

Если функция еще не загружена, вызов GetFunctionFromTokenAndTypeArgs приведет к загрузке, что является опасной операцией во многих контекстах. Например, вызов этого метода во время загрузки модулей или типов может привести к бесконечному циклу, так как среда выполнения пытается циклически загрузить объекты.

Как правило, использование GetFunctionFromTokenAndTypeArgs не рекомендуется. Если профилировщики заинтересованы в событиях для конкретной функции, они должны хранить ModuleID и mdMethodDef этой функции и использовать ICorProfilerInfo2::GetFunctionInfo2 для проверка, является ли данный FunctionID объект свойством требуемой функции.

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

версии платформа .NET Framework: доступно с версии 2.0.

См. также раздел