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 |
ClassID tarafından pClassId baş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
.cTypeArgs
ClassID
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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin