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 cchName
allokerar 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