ICorProfilerInfo::GetModuleInfo-metod
Givet ett modul-ID returnerar filnamnet för modulen och ID:t för modulens överordnade sammansättning.
Syntax
HRESULT GetModuleInfo(
[in] ModuleID moduleId,
[out] LPCBYTE *ppBaseLoadAddress,
[in] ULONG cchName,
[out] ULONG *pcchName,
[out, size_is(cchName), length_is(*pcchName)]
WCHAR szName[] ,
[out] AssemblyID *pAssemblyId);
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.
Kommentarer
För dynamiska moduler är parametern szName
en tom sträng och basadressen är 0 (noll).
GetModuleInfo
Ä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 GetModuleInfo
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 GetModuleInfo
igen.
Du kan också först anropa GetModuleInfo
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 GetModuleInfo
igen.
Krav
Plattformar: Se Systemkrav.
Huvudet: CorProf.idl, CorProf.h
Bibliotek: CorGuids.lib
.NET Framework versioner: Tillgänglig sedan 2.0