ICorProfilerInfo::GetModuleInfo, méthode
Pour un ID de module donné, retourne le nom de fichier du module et l'ID de l'assembly parent du module.
Syntaxe
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);
Paramètres
moduleId
[in] ID du module pour lequel les informations sont récupérées.
ppBaseLoadAddress
[out] Adresse de base à laquelle le module est chargé.
cchName
[in] Longueur, en caractères, de la mémoire tampon de retour szName
.
pcchName
[out] Pointeur vers la longueur de caractère totale du nom de fichier du module qui est retourné.
szName
[out] Mémoire tampon de caractères larges fournie par l'appelant. Suite au retour de la méthode, cette mémoire tampon contient le nom de fichier du module.
pAssemblyId
[out] Pointeur vers l'ID de l'assembly parent du module.
Notes
Pour les modules dynamiques, le paramètre szName
est une chaîne vide et l'adresse de base est 0 (zéro).
Bien que la méthode GetModuleInfo
puisse être appelée dès que l’ID du module existe, l’ID de l’assembly parent n’est pas disponible tant que le profileur n’a pas reçu le rappel ICorProfilerCallback::ModuleAttachedToAssembly.
Suite au retour de GetModuleInfo
, vous devez vérifier que la mémoire tampon szName
est suffisamment grande pour contenir le nom de fichier complet du module. Pour ce faire, comparez la valeur vers laquelle pcchName
pointe à celle du paramètre cchName
. Si pcchName
pointe vers une valeur supérieure à cchName
, allouez une mémoire tampon szName
plus grande, mettez à jour cchName
pour refléter la nouvelle taille et rappelez GetModuleInfo
.
Vous pouvez également commencer par appeler GetModuleInfo
avec un tampon szName
de longueur nulle pour obtenir la taille correcte du tampon. Vous pouvez ensuite affecter à la taille de la mémoire tampon la valeur retournée dans pcchName
et rappeler GetModuleInfo
.
Spécifications
Plateformes : Consultez Configuration requise.
En-tête : CorProf.idl, CorProf.h
Bibliothèque : CorGuids.lib
Versions de .NET Framework : Disponible depuis la version 2.0