ICorProfilerInfo2::GetClassIDInfo2 (Método)
Este método puede usarse para obtener el módulo primario y el token de metadatos de la clase genérica que se especifique, así como el elemento ClassID
de su clase primaria y el elemento ClassID
de cada argumento de tipo, si lo hay, de esa clase.
Sintaxis
HRESULT GetClassIDInfo2(
[in] ClassID classId,
[out] ModuleID *pModuleId,
[out] mdTypeDef *pTypeDefToken,
[out] ClassID *pParentClassId,
[in] ULONG32 cNumTypeArgs,
[out] ULONG32 *pcNumTypeArgs,
[out] ClassID typeArgs[]);
Parámetros
classId
[in] Identificador de la clase para la que se recuperará información.
pModuleId
[out] El valor de este parámetro se corresponde con un puntero que apunta al id. del módulo primario de la definición genérica abierta de la clase que se especifique.
pTypeDefToken
[out] El valor de este parámetro se corresponde con un puntero que apunta al token de metadatos de la definición genérica abierta de la clase que se especifique.
pParentClassId
[out] Puntero al identificador de la clase primaria.
cNumTypeArgs
[in] Tamaño de la matriz typeArgs
.
pcNumTypeArgs
[out] Puntero al número total de elementos disponibles.
typeArgs
[out] Matriz de valores ClassID
, cada uno de los cuales representa el identificador de un argumento de tipo de la clase. Cuando el método vuelve, typeArgs
contendrá algunos o todos los valores ClassID
disponibles.
Comentarios
El método GetClassIDInfo2
es similar al método ICorProfilerInfo::GetClassIDInfo con la diferencia de que, al usar GetClassIDInfo2
, se obtiene información adicional sobre un tipo genérico.
Desde el código del generador de perfiles, puede llamarse al método ICorProfilerInfo::GetModuleMetaData para obtener una interfaz de metadatos para un módulo determinado. Después, el token de metadatos que se devuelve a la ubicación a la que pTypeDefToken
hace referencia puede usarse para acceder a los metadatos de la clase.
Después de que GetClassIDInfo2
vuelva, debe comprobar que el búfer typeArgs
era lo suficientemente grande como para contener todos los valores ClassID
. Para ello, compare el valor al que pcNumTypeArgs
apunta con el valor del parámetro cNumTypeArgs
. Si pcNumTypeArgs
apunta un valor mayor que cNumTypeArgs
, asigne un búfer typeArgs
mayor, actualice cNumTypeArgs
con el nuevo tamaño de mayores dimensiones y vuelva a llamar a GetClassIDInfo2
.
También tiene la opción de llamar primero a GetClassIDInfo2
con un búfer typeArgs
de longitud de cero para obtener el tamaño de búfer correcto. Después, puede establecer el tamaño del búfer typeArgs
en el valor devuelto en pcNumTypeArgs
y volver a llamar a GetClassIDInfo2
.
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