Udostępnij przez


ICorProfilerInfo2::GetClassIDInfo2 Method

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

Syntax

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

Parameters

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.

Remarks

Metoda jest podobna GetClassIDInfo2 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 służyć do uzyskiwania dostępu do metadanych 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.

Requirements

Platformy: zobacz Wymagania systemowe.

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

Library: CorGuids.lib

wersje programu .NET Framework: dostępne od wersji 2.0

See also