Udostępnij za pośrednictwem


ICorProfilerInfo2::GetClassIDInfo2 — Metoda

Pobiera moduł nadrzędny i token metadanych dla otwartej ogólnej definicji określonej klasy, ClassID klasy nadrzędnej i ClassID dla każdego argumentu typu, jeśli istnieje, klasy.

Składnia

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
[in] Identyfikator klasy, dla której zostaną pobrane informacje.

pModuleId
[out] Wskaźnik do identyfikatora modułu nadrzędnego dla otwartej definicji ogólnej określonej klasy.

pTypeDefToken
[out] Wskaźnik do tokenu metadanych dla otwartej definicji ogólnej określonej klasy.

pParentClassId
[out] Wskaźnik do identyfikatora klasy nadrzędnej.

cNumTypeArgs
[in] Rozmiar tablicy typeArgs .

pcNumTypeArgs
[out] Wskaźnik do całkowitej liczby dostępnych elementów.

typeArgs
[out] Tablica ClassID wartości, z których każda reprezentuje identyfikator argumentu typu klasy. Gdy metoda zwróci wartość , typeArgs będzie zawierać niektóre lub wszystkie dostępne ClassID wartości.

Uwagi

Metoda GetClassIDInfo2 jest podobna do metody ICorProfilerInfo::GetClassIDInfo , ale GetClassIDInfo2 uzyskuje dodatkowe informacje o typie ogólnym.

Kod profilera może wywołać metodę ICorProfilerInfo::GetModuleMetaData w celu uzyskania interfejsu metadanych dla danego modułu. Token metadanych zwrócony do lokalizacji, pTypeDefToken do którego się odwołuje, może następnie służyć do uzyskiwania dostępu do metadanych dla klasy.

Po GetClassIDInfo2 powrocie należy sprawdzić, czy typeArgs bufor był wystarczająco duży, aby zawierał wszystkie ClassID wartości. W tym celu porównaj wartość wskazującą pcNumTypeArgs wartość z wartością parametru cNumTypeArgs . Jeśli pcNumTypeArgs wskazuje wartość większą niż cNumTypeArgs, przydziel większy typeArgs bufor, zaktualizuj cNumTypeArgs go przy użyciu nowego, większego rozmiaru i wywołaj GetClassIDInfo2 ponownie.

Alternatywnie można najpierw wywołać GetClassIDInfo2 bufor o zerowej długości typeArgs , aby uzyskać prawidłowy rozmiar buforu. Następnie można ustawić rozmiar buforu typeArgs na wartość zwróconą w pcNumTypeArgs pliku i wywołać GetClassIDInfo2 ponownie.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: CorProf.idl, CorProf.h

Biblioteki: CorGuids.lib

wersje .NET Framework: dostępne od wersji 2.0

Zobacz też