Поделиться через


Метод ICorProfilerInfo2::GetClassFromTokenAndTypeArgs

Получает идентификатор ClassID типа, используя заданный маркер метаданных и значения ClassID любых аргументов типа.

HRESULT GetClassFromTokenAndTypeArgs(
    [in] ModuleID moduleID,
    [in] mdTypeDef typeDef,
    [in] ULONG32 cTypeArgs,
    [in, size_is(cTypeArgs)] ClassID typeArgs[],
    [out] ClassID* pClassID);

Параметры

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

  • typeDef
    [in] Маркер метаданных mdTypeDef, ссылающийся на тип.

  • cTypeArgs
    [in] Число параметров типа для данного типа. Для неуниверсальных типов это значение должно быть равным нулю.

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

  • pClassID
    [out] Указатель на идентификатор ClassID для заданного типа.

Заметки

Если метод GetClassFromTokenAndTypeArgs вызвать с маркером метаданных mdTypeRef вместо mdTypeDef, это может привести к непредсказуемым результатам; при передаче вызывающий объект должен разрешить маркер mdTypeRef в маркер mdTypeDef.

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

В общем случае использовать метод GetClassFromTokenAndTypeArgs не рекомендуется. Если профилировщику нужны события для определенного типа, их можно сохранить в идентификаторе ModuleID и маркере mdTypeDef этого типа и с помощью метода ICorProfilerInfo2::GetClassIDInfo2 проверить, соответствует ли данный идентификатор ClassID необходимому типу.

Требования

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

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

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

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0

См. также

Ссылки

Интерфейс ICorProfilerInfo

Интерфейс ICorProfilerInfo2