Bagikan melalui


Metode ICorProfilerInfo3::GetModuleInfo2

Mengingat ID modul, mengembalikan nama file modul, ID rakitan induk modul, dan bitmask yang menjelaskan properti modul.

Sintaks

HRESULT GetModuleInfo2(  
    [in]  ModuleID   moduleId,  
    [out] LPCBYTE    *ppBaseLoadAddress,  
    [in]  ULONG      cchName,  
    [out] ULONG      *pcchName,  
    [out, annotation("__out_ecount_part(cchName, *pcchName)")]  
          WCHAR      szName[] ,  
    [out] AssemblyID *pAssemblyId);  
    [out] DWORD                 *pdwModuleFlags);  

Parameter

moduleId
[in] ID dari modul yang informasinya akan diambil.

ppBaseLoadAddress
[out] Alamat dasar tempat modul dimuat.

cchName
[in] Panjang, dalam karakter, dari buffer pengembalian szName.

pcchName
[out] Penunjuk ke total panjang karakter nama file modul yang dikembalikan.

szName
[out] Buffer karakter lebar yang disediakan pemanggil. Saat metode kembali, buffer ini berisi nama file modul.

pAssemblyId
[out] Penunjuk ke ID rakitan induk modul.

pdwModuleFlags
[out] Bitmask nilai dari enumerasi COR_PRF_MODULE_FLAGS yang menentukan properti modul.

Keterangan

Untuk modul dinamis, parameter szName adalah nama metadata modul, dan alamat dasarnya adalah 0 (nol). Nama metadata adalah nilai di kolom Nama dari tabel Modul di dalam metadata. Nama ini juga diekspos sebagai properti Module.ScopeName untuk kode terkelola, dan sebagai parameter szName dari metode IMetaDataImport::GetScopeProps ke kode klien metadata yang tidak terkelola.

Meskipun metode GetModuleInfo2 dapat dipanggil segera setelah ID modul ada, ID rakitan induk tidak akan tersedia sampai profiler menerima panggilan balik ICorProfilerCallback::ModuleAttachedToAssembly.

Setelah GetModuleInfo2 kembali, Anda harus memverifikasi bahwa buffer szName cukup besar untuk berisi nama file lengkap modul. Untuk melakukannya, bandingkan nilai yang ditunjuk pcchName dengan nilai parameter cchName. Jika pcchName menunjuk ke nilai yang lebih besar dari cchName, alokasikan buffer szName yang lebih besar, perbarui cchName dengan ukuran baru yang lebih besar, dan panggil GetModuleInfo2 lagi.

Atau, Anda dapat terlebih dahulu memanggil GetModuleInfo2 dengan buffer szName kosong untuk mendapatkan ukuran buffer yang benar. Kemudian, Anda dapat mengatur ukuran buffer ke nilai yang dikembalikan di pcchName dan memanggil GetModuleInfo2 lagi.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorProf.idl, CorProf.h

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari 4

Lihat juga