Dela via


ICorProfilerInfo3::GetModuleInfo2-metod

Givet ett modul-ID returnerar filnamnet för modulen, ID:t för modulens överordnade sammansättning och en bitmask som beskriver egenskaperna för modulen.

Syntax

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

Parametrar

moduleId
[i] ID:t för modulen för vilken information ska hämtas.

ppBaseLoadAddress
[ut] Den basadress där modulen läses in.

cchName
[i] Längden, i tecken, på returbufferten szName .

pcchName
[ut] En pekare till den totala teckenlängden för modulens filnamn som returneras.

szName
[ut] En buffert med uppringare som tillhandahålls av ett brett tecken. När metoden returnerar innehåller den här bufferten filnamnet för modulen.

pAssemblyId
[ut] En pekare till ID:t för modulens överordnade sammansättning.

pdwModuleFlags
[ut] En bitmask med värden från COR_PRF_MODULE_FLAGS uppräkning som anger egenskaperna för modulen.

Kommentarer

För dynamiska moduler är parametern szName metadatanamnet för modulen och basadressen är 0 (noll). Metadatanamnet är värdet i kolumnen Namn från modultabellen i metadata. Detta exponeras också som Module.ScopeName egenskapen för hanterad kod och som szName parameter för IMetaDataImport::GetScopeProps-metoden för ohanterad metadataklientkod.

GetModuleInfo2 Även om metoden kan anropas så snart modulens ID finns, är ID:t för den överordnade sammansättningen inte tillgängligt förrän profileraren tar emot återanropet ICorProfilerCallback::ModuleAttachedToAssembly.

När GetModuleInfo2 returnerar måste du kontrollera att bufferten szName var tillräckligt stor för att innehålla modulens fullständiga filnamn. Det gör du genom att jämföra värdet som pcchName pekar på med värdet för parametern cchName . Om pcchName pekar på ett värde som är större än cchNameallokerar du en större szName buffert, uppdaterar cchName med den nya, större storleken och anropar GetModuleInfo2 igen.

Du kan också först anropa GetModuleInfo2 med en buffert med noll längd szName för att få rätt buffertstorlek. Du kan sedan ange buffertstorleken till det värde som returneras och pcchName anropa GetModuleInfo2 igen.

Krav

Plattformar: Se Systemkrav.

Huvudet: CorProf.idl, CorProf.h

Bibliotek: CorGuids.lib

.NET Framework versioner: Tillgänglig sedan 4

Se även