Aracılığıyla paylaş


ICorProfilerInfo3::GetModuleInfo2 Metodu

Modül kimliği verilip modülün dosya adını, modülün üst derlemesinin kimliğini ve modülün özelliklerini açıklayan bit maskesini döndürür.

Sözdizimi

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

Parametreler

moduleId
[in] Bilgilerin alınacağı modülün kimliği.

ppBaseLoadAddress
[out] Modülün yüklendiği temel adres.

cchName
[in] Dönüş arabelleğinin szName karakter cinsinden uzunluğu.

pcchName
[out] Döndürülen modülün dosya adının toplam karakter uzunluğuna ilişkin bir işaretçi.

szName
[out] Çağıran tarafından sağlanan geniş karakter arabelleği. Yöntem döndürdüğünde, bu arabellek modülün dosya adını içerir.

pAssemblyId
[out] Modülün üst derlemesinin kimliğinin işaretçisi.

pdwModuleFlags
[out] modülün özelliklerini belirten COR_PRF_MODULE_FLAGS numaralandırmasından alınan değerlerin bit maskesi.

Açıklamalar

Dinamik modüller için parametresi modülün szName meta veri adıdır ve temel adres 0 (sıfır) şeklindedir. Meta veri adı, meta verilerin içindeki Modül tablosundaki Ad sütunundaki değerdir. Bu, yönetilen kodun Module.ScopeName özelliği olarak ve yönetilmeyen meta veri istemci koduna IMetaDataImport::GetScopeProps yönteminin parametresi olarak szName da sunulur.

Modülün GetModuleInfo2 kimliği mevcut olduğunda yöntemi çağrılsa da, profil oluşturucu ICorProfilerCallback::ModuleAttachedToAssembly geri çağırmasını alıncaya kadar üst derlemenin kimliği kullanılamaz.

Döndürdüğünde GetModuleInfo2 , arabelleğin modülün szName tam dosya adını içerecek kadar büyük olduğunu doğrulamanız gerekir. Bunu yapmak için işaret eden pcchName değeri parametresinin değeriyle karşılaştırın cchName . değerinden büyük bir değere işaret edersepcchName, daha büyük szName bir arabellek ayırın, yeni, daha büyük boyutla güncelleştirin cchName ve yeniden çağırınGetModuleInfo2.cchName

Alternatif olarak, doğru arabellek boyutunu elde etmek için önce sıfır uzunluklu szName bir arabellekle çağırabilirsinizGetModuleInfo2. Ardından arabellek boyutunu içinde döndürülen pcchName değere ayarlayabilir ve yeniden çağırabilirsiniz GetModuleInfo2 .

Gereksinimler

Platform: Bkz. Sistem Gereksinimleri.

Üstbilgi: CorProf.idl, CorProf.h

Kitaplığı: CorGuids.lib

.NET Framework Sürümleri: 4'ten beri kullanılabilir

Ayrıca bkz.