ICorProfilerInfo2::GetClassIDInfo2, méthode
Obtient le module parent et le jeton de métadonnées pour la définition générique ouverte de la classe spécifiée, le ClassID
de sa classe parent et le ClassID
de chaque argument de type, le cas échéant, de la classe.
Syntaxe
HRESULT GetClassIDInfo2(
[in] ClassID classId,
[out] ModuleID *pModuleId,
[out] mdTypeDef *pTypeDefToken,
[out] ClassID *pParentClassId,
[in] ULONG32 cNumTypeArgs,
[out] ULONG32 *pcNumTypeArgs,
[out] ClassID typeArgs[]);
Paramètres
classId
[in] ID de la classe pour laquelle les informations seront récupérées.
pModuleId
[out] Pointeur vers l’ID du module parent pour la définition générique ouverte de la classe spécifiée.
pTypeDefToken
[out] Pointeur vers le jeton de métadonnées pour la définition générique ouverte de la classe spécifiée.
pParentClassId
[out] Pointeur vers l'ID de la classe parente.
cNumTypeArgs
[in] Taille du tableau typeArgs
.
pcNumTypeArgs
[out] Pointeur vers le nombre total d'éléments disponibles.
typeArgs
[out] Tableau de valeurs ClassID
, chacune représentant l’ID d’un argument de type de la classe. Quand la méthode retourne son résultat, typeArgs
contient une partie ou la totalité des valeurs ClassID
disponibles.
Notes
La méthode GetClassIDInfo2
est similaire à la méthode ICorProfilerInfo::GetClassIDInfo, mais GetClassIDInfo2
obtient des informations supplémentaires sur un type générique.
Le code du profileur peut appeler ICorProfilerInfo::GetModuleMetaData pour obtenir une interface de métadonnées pour un module donné. Le jeton de métadonnées qui est retourné à l'emplacement référencé par pTypeDefToken
peut alors servir à accéder aux métadonnées pour la classe.
Suite au retour de GetClassIDInfo2
, vous devez vérifier que le tampon typeArgs
est suffisamment grand pour contenir toutes les valeurs ClassID
. Pour ce faire, comparez la valeur vers laquelle pcNumTypeArgs
pointe à celle du paramètre cNumTypeArgs
. Si pcNumTypeArgs
pointe vers une valeur supérieure à cNumTypeArgs
, allouez une mémoire tampon typeArgs
plus grande, mettez à jour cNumTypeArgs
pour refléter la nouvelle taille et rappelez GetClassIDInfo2
.
Vous pouvez également commencer par appeler GetClassIDInfo2
avec un tampon typeArgs
de longueur nulle pour obtenir la taille correcte du tampon. Vous pouvez ensuite définir la taille du tampon typeArgs
sur la valeur retournée dans pcNumTypeArgs
, puis appeler GetClassIDInfo2
à nouveau.
Spécifications
Plateformes : Consultez Configuration requise.
En-tête : CorProf.idl, CorProf.h
Bibliothèque : CorGuids.lib
Versions de .NET Framework : Disponible depuis la version 2.0