Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Získá nadřazenou třídu, token metadat a ClassID argument každého typu, pokud existuje, funkce.
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 [v] ID funkce, pro kterou chcete získat nadřazenou třídu a další informace.
frameInfo [v] COR_PRF_FRAME_INFO Hodnota, která odkazuje na informace o rámečku zásobníku.
pClassId [ven] Ukazatel na nadřazenou třídu funkce.
pModuleId [ven] Ukazatel na modul, ve kterém je definována nadřazená třída funkce.
pToken [ven] Ukazatel na token metadat pro funkci.
cTypeArgs [v] Velikost typeArgs pole.
pcTypeArgs [ven] Ukazatel na celkový počet ClassID hodnot.
typeArgs [ven] Jedná se o ClassID pole hodnot, z nichž každý je ID argumentu typu funkce. Když metoda vrátí, typeArgs bude obsahovat některé nebo všechny ClassID hodnoty.
Remarks
Kód profileru může volat ICorProfilerInfo::GetModuleMetaData získat rozhraní metadat pro daný modul. Token metadat vrácený do umístění, na které pToken odkazuje, se pak dá použít pro přístup k metadatům funkce.
ID třídy a argumenty typu vrácené prostřednictvím pClassId parametrů závisí typeArgs na hodnotě předané v parametru frameInfo , jak je znázorněno v následující tabulce.
Hodnota parametru frameInfo |
Result |
|---|---|
COR_PRF_FRAME_INFO Hodnota získaná z zpětného FunctionEnter2 volání |
Hodnota ClassID, vrácená v umístění, na které pClassIdodkazuje , a všechny argumenty typu vrácené v typeArgs matici budou přesné. |
Zdroj COR_PRF_FRAME_INFO , který byl získán z jiného zdroje než FunctionEnter2 zpětného volání |
Přesné ClassID argumenty a argumenty typu nelze určit. To znamená, že ClassID může mít hodnotu null a některé argumenty typu se můžou vrátit jako Object. |
| Zero | Přesné ClassID argumenty a argumenty typu nelze určit. To znamená, že ClassID může mít hodnotu null a některé argumenty typu se můžou vrátit jako Object. |
Po GetFunctionInfo2 vrácení musíte ověřit, že typeArgs vyrovnávací paměť byla dostatečně velká, aby obsahovala všechny ClassID hodnoty. Chcete-li to provést, porovnejte hodnotu, která pcTypeArgs odkazuje na hodnotu parametru cTypeArgs . Pokud pcTypeArgs odkazuje na hodnotu, která je větší než cTypeArgs dělená velikostí ClassID hodnoty, přidělte větší pcTypeArgs vyrovnávací paměť, aktualizujte cTypeArgs novou, větší velikost a znovu volejte GetFunctionInfo2 .
Případně můžete nejprve zavolat GetFunctionInfo2 vyrovnávací paměť s nulovou délkou pcTypeArgs , abyste získali správnou velikost vyrovnávací paměti. Potom můžete velikost vyrovnávací paměti nastavit na hodnotu vrácenou vydělenou pcTypeArgs velikostí ClassID hodnoty a znovu zavolat GetFunctionInfo2 .
Requirements
Platformy: Viz požadavky na systém.
Záhlaví: CorProf.idl, CorProf.h
Library: CorGuids.lib
verze rozhraní .NET Framework: k dispozici od verze 2.0