Delen via


Methode ICorProfilerInfo3::GetModuleInfo2

Op basis van een module-id worden de bestandsnaam van de module, de id van de bovenliggende assembly van de module en een bitmasker geretourneerd dat de eigenschappen van de module beschrijft.

Syntaxis

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

Parameters

moduleId
[in] De id van de module waarvoor informatie wordt opgehaald.

ppBaseLoadAddress
[uit] Het basisadres waarop de module wordt geladen.

cchName
[in] De lengte, in tekens, van de szName retourbuffer.

pcchName
[uit] Een verwijzing naar de totale tekenlengte van de bestandsnaam van de module die wordt geretourneerd.

szName
[uit] Een brede tekenbuffer die door de aanroeper wordt geleverd. Wanneer de methode retourneert, bevat deze buffer de bestandsnaam van de module.

pAssemblyId
[uit] Een verwijzing naar de id van de bovenliggende assembly van de module.

pdwModuleFlags
[uit] Een bitmasker van waarden uit de COR_PRF_MODULE_FLAGS opsomming waarmee de eigenschappen van de module worden opgegeven.

Opmerkingen

Voor dynamische modules is de szName parameter de naam van de metagegevens van de module en is het basisadres 0 (nul). De naam van de metagegevens is de waarde in de kolom Naam uit de tabel Module in metagegevens. Dit wordt ook weergegeven als de Module.ScopeName eigenschap voor beheerde code en als de szName parameter van de methode IMetaDataImport::GetScopeProps voor niet-beheerde metagegevensclientcode.

Hoewel de GetModuleInfo2 methode kan worden aangeroepen zodra de id van de module bestaat, is de id van de bovenliggende assembly pas beschikbaar als de profiler de callback ICorProfilerCallback::ModuleAttachedToAssembly ontvangt.

Wanneer GetModuleInfo2 de module wordt geretourneerd, moet u controleren of de szName buffer groot genoeg is om de volledige bestandsnaam van de module te bevatten. Hiervoor vergelijkt u de waarde die pcchName naar verwijst met de waarde van de cchName parameter. Als pcchName verwijst naar een waarde die groter is dan cchName, wijst u een grotere szName buffer toe, werkt cchName u bij met het nieuwe, grotere formaat en roept u GetModuleInfo2 opnieuw aan.

U kunt ook eerst aanroepen GetModuleInfo2 met een buffer met de lengte szName nul om de juiste buffergrootte te verkrijgen. Vervolgens kunt u de buffergrootte instellen op de waarde die wordt geretourneerd in pcchName en opnieuw aanroepen GetModuleInfo2 .

Vereisten

Platforms: Zie Systeemvereisten.

Header: CorProf.idl, CorProf.h

Bibliotheek: CorGuids.lib

.NET Framework versies: beschikbaar sinds 4

Zie ook