Sdílet prostřednictvím


ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs – metoda

FunctionID Získá funkce pomocí zadaného tokenu metadat, který obsahuje třídu a ClassID hodnoty libovolného typu argumentů.

Syntaxe

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
[v] ID modulu, ve kterém se funkce nachází.

funcDef
[v] Token mdMethodDef metadat, který odkazuje na funkci.

classId
[v] ID třídy obsahující funkci.

cTypeArgs
[v] Počet parametrů typu pro danou funkci. Tato hodnota musí být nula pro jiné než obecné funkce.

typeArgs
[v] Pole ClassID hodnot, z nichž každá je argumentem funkce. Hodnota typeArgs může být NULL, pokud cTypeArgs je nastavená na nulu.

pFunctionID
[out] Ukazatel na FunctionID zadanou funkci.

Poznámky

GetFunctionFromTokenAndTypeArgs Volání metody s metadaty mdMethodRef místo tokenu mdMethodDef metadat může mít nepředvídatelné výsledky. Volající by při jeho předávání měli přeložit mdMethodRef na .mdMethodDef

Pokud funkce ještě není načtená, volání GetFunctionFromTokenAndTypeArgs způsobí, že dojde k načtení, což je v mnoha kontextech nebezpečná operace. Například volání této metody během načítání modulů nebo typů může vést k nekonečné smyčce, protože modul runtime se pokusí věci načíst cyklické.

Obecně platí, že použití je GetFunctionFromTokenAndTypeArgs odrazováno. Pokud se profilátory zajímají o události pro určitou funkci, měly by ukládat ModuleID a mdMethodDef této funkce a pomocí funkce ICorProfilerInfo2::GetFunctionInfo2 zkontrolovat, jestli FunctionID daná funkce odpovídá požadované funkci.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorProf.idl, CorProf.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 2.0

Viz také