Udostępnij za pośrednictwem


ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs — Metoda

FunctionID Pobiera funkcję przy użyciu określonego tokenu metadanych, zawierającego klasę i ClassID wartości dowolnego typu argumentów.

Składnia

HRESULT GetFunctionFromTokenAndTypeArgs(  
    [in] ModuleID moduleID,  
    [in] mdMethodDef funcDef,  
    [in] ClassID classId,  
    [in] ULONG32 cTypeArgs,  
    [in, size_is(cTypeArgs)] ClassID typeArgs[],  
    [out] FunctionID* pFunctionID);  

Parametry

moduleID
[in] Identyfikator modułu, w którym znajduje się funkcja.

funcDef
[in] Token mdMethodDef metadanych odwołujący się do funkcji.

classId
[in] Identyfikator funkcji zawierającej klasę.

cTypeArgs
[in] Liczba parametrów typu dla danej funkcji. Ta wartość musi być równa zero dla funkcji niegenerycznych.

typeArgs
[in] Tablica ClassID wartości, z których każda jest argumentem funkcji. Wartość może mieć wartość typeArgs NULL, jeśli cTypeArgs jest ustawiona na zero.

pFunctionID
[out] Wskaźnik do FunctionID określonej funkcji.

Uwagi

GetFunctionFromTokenAndTypeArgs Wywołanie metody z metadanymi mdMethodRef zamiast tokenu mdMethodDef metadanych może mieć nieprzewidywalne wyniki. Osoby wywołujące powinny rozpoznać element do mdMethodRef elementu mdMethodDef podczas jego przekazywania.

Jeśli funkcja nie jest jeszcze załadowana, wywołanie GetFunctionFromTokenAndTypeArgs spowoduje wystąpienie ładowania, co jest niebezpieczną operacją w wielu kontekstach. Na przykład wywołanie tej metody podczas ładowania modułów lub typów może prowadzić do nieskończonej pętli, ponieważ środowisko uruchomieniowe próbuje załadować cyklicznie elementy.

Ogólnie rzecz biorąc, zniechęcenie do GetFunctionFromTokenAndTypeArgs stosowania. Jeśli profilerzy są zainteresowani zdarzeniami dla określonej funkcji, powinni przechowywać ModuleID wartości i mdMethodDef tej funkcji, a następnie użyć funkcji ICorProfilerInfo2::GetFunctionInfo2 , aby sprawdzić, czy dana FunctionID funkcja jest odpowiednia.

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ż