Bagikan melalui


Metode ICorProfilerInfo2::GetClassIDInfo2

Mendapatkan modul induk dan token metadata untuk definisi umum terbuka dari kelas yang ditentukan, ClassID dari kelas induknya dan ClassID untuk setiap jenis argumen, jika ada, dari kelas tersebut.

Sintaks

HRESULT GetClassIDInfo2(  
    [in]  ClassID classId,  
    [out] ModuleID *pModuleId,  
    [out] mdTypeDef *pTypeDefToken,  
    [out] ClassID *pParentClassId,  
    [in]  ULONG32 cNumTypeArgs,  
    [out] ULONG32 *pcNumTypeArgs,  
    [out] ClassID typeArgs[]);  

Parameter

classId
[in] ID kelas yang informasinya akan diambil.

pModuleId
[out] Penunjuk ke ID modul induk untuk definisi umum terbuka dari kelas yang ditentukan.

pTypeDefToken
[out] Penunjuk ke token metadata untuk definisi umum terbuka dari kelas yang ditentukan.

pParentClassId
[out] Penunjuk ke ID kelas induk.

cNumTypeArgs
[in] Ukuran array typeArgs.

pcNumTypeArgs
[out] Penunjuk ke jumlah total elemen yang tersedia.

typeArgs
[out] Array nilai ClassID, yang masing-masing mewakili ID argumen jenis kelas. Saat metode kembali, typeArgs akan berisi beberapa atau semua nilai ClassID yang tersedia.

Keterangan

Metode GetClassIDInfo2 ini mirip dengan metode ICorProfilerInfo::GetClassIDInfo, tetapi GetClassIDInfo2 mendapatkan informasi tambahan tentang jenis generik.

Kode profiler dapat memanggil ICorProfilerInfo::GetModuleMetaData untuk mendapatkan antarmuka metadata untuk modul tertentu. Token metadata yang ditampilkan pada lokasi yang direferensikan oleh pTypeDefToken kemudian dapat digunakan untuk mengakses metadata kelas.

Setelah GetClassIDInfo2 ditampilkan, Anda harus memverifikasi bahwa buffer typeArgs cukup besar untuk menampung semua nilai ClassID. Untuk melakukannya, bandingkan nilai yang ditunjuk pcNumTypeArgs dengan nilai parameter cNumTypeArgs. Jika pcNumTypeArgs menunjuk ke nilai yang lebih besar dari cNumTypeArgs, alokasikan buffer typeArgs yang lebih besar, perbarui cNumTypeArgs dengan ukuran baru yang lebih besar, dan panggil GetClassIDInfo2 lagi.

Atau, Anda dapat terlebih dahulu memanggil GetClassIDInfo2 dengan buffer typeArgs dengan panjang nol untuk mendapatkan ukuran buffer yang benar. Kemudian, Anda dapat mengatur ukuran buffer typeArgs ke nilai yang ditampilkan di pcNumTypeArgs dan memanggil GetClassIDInfo2 lagi.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorProf.idl, CorProf.h

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari 2.0

Lihat juga