Aracılığıyla paylaş


ICorProfilerInfo2::GetFunctionInfo2 Yöntemi

Bir işlevin üst sınıfını, meta veri belirtecini ClassID ve varsa her tür bağımsız değişkeninin değerini alır.

Sözdizimi

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[]);  

Parametreler

funcId
[in] Üst sınıfın ve diğer bilgilerin alındığı işlevin kimliği.

frameInfo
[in] Yığın COR_PRF_FRAME_INFO çerçevesi hakkındaki bilgilere işaret eden bir değer.

pClassId
[out] İşlevin üst sınıfına bir işaretçi.

pModuleId
[out] İşlevin üst sınıfının tanımlandığı modülün işaretçisi.

pToken
[out] İşlev için meta veri belirtecinin işaretçisi.

cTypeArgs
[in] Dizinin boyutu typeArgs .

pcTypeArgs
[out] Toplam değer sayısına yönelik ClassID bir işaretçi.

typeArgs
[out] Her biri işlevin ClassID tür bağımsız değişkeninin kimliği olan bir değer dizisi. yöntemi döndürdüğünde, typeArgs değerlerin ClassID bir bölümünü veya tümünü içerir.

Açıklamalar

Profil oluşturucu kodu, belirli bir modülün meta veri arabirimini almak için ICorProfilerInfo::GetModuleMetaData çağrısı yapabilir. Tarafından başvuruda pToken bulunılan konuma döndürülen meta veri belirteci daha sonra işlevin meta verilerine erişmek için kullanılabilir.

ve typeArgs parametreleri aracılığıyla pClassId döndürülen sınıf kimliği ve tür bağımsız değişkenleri, aşağıdaki tabloda gösterildiği gibi parametrede frameInfo geçirilen değere bağlıdır.

Parametrenin frameInfo değeri Sonuç
Geri COR_PRF_FRAME_INFO çağırmadan alınan değer FunctionEnter2 ClassIDtarafından pClassIdbaşvuruda bulunülen konumda döndürülen ve dizide typeArgs döndürülen tüm tür bağımsız değişkenleri tam olacaktır.
COR_PRF_FRAME_INFO Geri çağırma dışında bir kaynaktan alınan bir FunctionEnter2 Tam ClassID ve tür bağımsız değişkenleri belirlenemez. Başka bir ifadeyle ClassID null olabilir ve bazı tür bağımsız değişkenleri olarak Objectgeri gelebilir.
Sıfır Tam ClassID ve tür bağımsız değişkenleri belirlenemez. Başka bir ifadeyle ClassID null olabilir ve bazı tür bağımsız değişkenleri olarak Objectgeri gelebilir.

Döndürdükten sonra GetFunctionInfo2 , arabelleğin typeArgs tüm ClassID değerleri içerecek kadar büyük olduğunu doğrulamanız gerekir. Bunu yapmak için işaret eden pcTypeArgs değeri parametresinin cTypeArgs değeriyle karşılaştırın. Bir değerin boyutuna bölünmesinden daha büyük bir değere işaret edersepcTypeArgs, daha büyük pcTypeArgs bir arabellek ayırın, yeni, daha büyük boyutla güncelleştirin cTypeArgs ve yeniden çağırınGetFunctionInfo2.cTypeArgsClassID

Alternatif olarak, doğru arabellek boyutunu elde etmek için ilk GetFunctionInfo2 olarak sıfır uzunlukta pcTypeArgs bir arabellek çağırabilirsiniz. Daha sonra arabellek boyutunu değerin boyutuna ClassID bölünerek döndürülen pcTypeArgs değere ayarlayabilir ve yeniden çağırabilirsinizGetFunctionInfo2.

Gereksinimler

Platform: Bkz. Sistem Gereksinimleri.

Üstbilgi: CorProf.idl, CorProf.h

Kitaplığı: CorGuids.lib

.NET Framework Sürümleri: 2.0 sürümünden itibaren kullanılabilir

Ayrıca bkz.