Sdílet prostřednictvím


ICorProfilerInfo2::GetClassIDInfo2 – metoda

Získá nadřazený modul a token metadat pro otevřenou obecnou definici zadané třídy, ClassID její nadřazené třídy a ClassID argument pro každý typ, pokud je k dispozici, třídy.

Syntaxe

HRESULT GetClassIDInfo2(  
    [in]  ClassID classId,  
    [out] ModuleID *pModuleId,  
    [out] mdTypeDef *pTypeDefToken,  
    [out] ClassID *pParentClassId,  
    [in]  ULONG32 cNumTypeArgs,  
    [out] ULONG32 *pcNumTypeArgs,  
    [out] ClassID typeArgs[]);  

Parametry

classId
[v] ID třídy, pro kterou se načtou informace.

pModuleId
[out] Ukazatel na ID nadřazeného modulu pro otevřenou obecnou definici zadané třídy.

pTypeDefToken
[out] Ukazatel na token metadat pro otevřenou obecnou definici zadané třídy.

pParentClassId
[out] Ukazatel na ID nadřazené třídy.

cNumTypeArgs
[v] Velikost typeArgs pole.

pcNumTypeArgs
[out] Ukazatel na celkový počet dostupných prvků.

typeArgs
[out] Pole ClassID hodnot, z nichž každá představuje ID argumentu typu třídy. Když metoda vrátí, typeArgs bude obsahovat některé nebo všechny dostupné ClassID hodnoty.

Poznámky

Metoda GetClassIDInfo2 je podobná metodě ICorProfilerInfo::GetClassIDInfo , ale GetClassIDInfo2 získává další informace o obecném typu.

Kód profileru může volat ICorProfilerInfo::GetModuleMetaData získat rozhraní metadat pro daný modul. Token metadat vrácený do umístění, na které odkazuje, pTypeDefToken lze pak použít pro přístup k metadatům pro třídu.

Po GetClassIDInfo2 vrácení je nutné ověřit, že typeArgs vyrovnávací paměť byla dostatečně velká, aby obsahovala ClassID všechny hodnoty. Chcete-li to provést, porovnejte hodnotu, která pcNumTypeArgs odkazuje na, s hodnotou parametru cNumTypeArgs . Pokud pcNumTypeArgs odkazuje na hodnotu, která je větší než cNumTypeArgs, alokujte větší typeArgs vyrovnávací paměť, aktualizujte cNumTypeArgs novou větší velikost a zavolejte GetClassIDInfo2 znovu.

Případně můžete nejprve volat GetClassIDInfo2 s vyrovnávací pamětí nulové délky typeArgs , abyste získali správnou velikost vyrovnávací paměti. Pak můžete nastavit typeArgs velikost vyrovnávací paměti na hodnotu vrácenou v pcNumTypeArgs a volat GetClassIDInfo2 znovu.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorProf.idl, CorProf.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 2.0

Viz také