Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pobiera klasę nadrzędną, token metadanych i ClassID argument każdego typu, jeśli istnieje, funkcji.
Syntax
HRESULT GetFunctionInfo2(
[in] FunctionID funcId,
[in] COR_PRF_FRAME_INFO frameInfo,
[out] ClassID *pClassId,
[out] ModuleID *pModuleId,
[out] mdToken *pToken,
[in] ULONG32 cTypeArgs,
[out] ULONG32 *pcTypeArgs,
[out] ClassID typeArgs[]);
Parameters
funcId [in] Identyfikator funkcji, dla której ma być pobierana klasa nadrzędna i inne informacje.
frameInfo [in] Wartość wskazująca COR_PRF_FRAME_INFO informacje o ramce stosu.
pClassId [out] Wskaźnik do klasy nadrzędnej funkcji.
pModuleId [out] Wskaźnik do modułu, w którym zdefiniowano klasę nadrzędną funkcji.
pToken [out] Wskaźnik do tokenu metadanych dla funkcji.
cTypeArgs [in] Rozmiar tablicy typeArgs .
pcTypeArgs [out] Wskaźnik do łącznej liczby ClassID wartości.
typeArgs [out] Tablica ClassID wartości, z których każda jest identyfikatorem argumentu typu funkcji. Gdy metoda zwróci wartość , typeArgs będzie zawierać niektóre lub wszystkie ClassID wartości.
Remarks
Kod profilera może wywołać metodę ICorProfilerInfo::GetModuleMetaData w celu uzyskania interfejsu metadanych dla danego modułu. Token metadanych zwrócony do lokalizacji, pToken do którego się odwołuje, może służyć do uzyskiwania dostępu do metadanych funkcji.
Identyfikator klasy i argumenty typu zwracane za pośrednictwem pClassId parametrów i typeArgs zależą od wartości przekazanej w parametrze frameInfo , jak pokazano w poniższej tabeli.
Wartość parametru frameInfo |
Result |
|---|---|
COR_PRF_FRAME_INFO Wartość uzyskana z wywołania zwrotnego FunctionEnter2 |
Element ClassID, zwrócony w lokalizacji, do których odwołuje się pClassIdelement , i wszystkie argumenty typu zwrócone w tablicy typeArgs będą dokładne. |
Element COR_PRF_FRAME_INFO uzyskany ze źródła innego FunctionEnter2 niż wywołanie zwrotne |
Nie można określić dokładnych ClassID argumentów i typów. Oznacza to, że argumenty ClassID mogą mieć wartość null, a niektóre argumenty typu mogą wrócić jako Object. |
| Zero | Nie można określić dokładnych ClassID argumentów i typów. Oznacza to, że argumenty ClassID mogą mieć wartość null, a niektóre argumenty typu mogą wrócić jako Object. |
Po GetFunctionInfo2 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ą pcTypeArgs wartość z wartością parametru cTypeArgs . Jeśli pcTypeArgs wskazuje wartość większą niż cTypeArgs dzielona przez rozmiar ClassID wartości, przydziel większy pcTypeArgs bufor, zaktualizuj cTypeArgs go przy użyciu nowego, większego rozmiaru i wywołaj GetFunctionInfo2 ponownie.
Alternatywnie można najpierw wywołać GetFunctionInfo2 bufor o zerowej długości pcTypeArgs , aby uzyskać prawidłowy rozmiar buforu. Następnie można ustawić rozmiar buforu na wartość zwróconą w pcTypeArgs podziale przez rozmiar ClassID wartości i wywołać GetFunctionInfo2 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