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