Partager via


ICorProfilerInfo::GetModuleInfo, méthode

Étant donné un ID de module, retourne le nom de fichier du module et l'ID de l'assembly parent du module.

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] L'ID du module pour lequel les informations seront 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 largeur de caractères totale du nom de fichier du module qui est retourné.

  • szName
    [out] Mémoire tampon de caractères larges fournie par l'appelant. Lorsque cette méthode est retournée, 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.

Lorsque GetModuleInfo est retourné, vous devez vérifier que la mémoire tampon szName était assez grande pour contenir le nom de fichier complet du module. Pour ce faire, comparez la valeur pointée par pcchName avec 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 avec la nouvelle taille plus grande et appelez de nouveau GetModuleInfo.

Vous pouvez également commencer par appeler GetModuleInfo avec une mémoire tampon szName dont la taille est nulle pour obtenir la taille correcte de la mémoire tampon. Vous pouvez ensuite affecter à la taille de la mémoire tampon la valeur retournée dans pcchName et appeler de nouveau GetModuleInfo.

Pour plus d'informations sur ces deux approches, consultez la page Mémoires tampons allouées par l'appelant.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : CorProf.idl, CorProf.h

Bibliothèque : CorGuids.lib

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Voir aussi

Référence

ICorProfilerInfo, interface

Autres ressources

Interfaces de profilage

Profilage (Référence des API non managées)

ICorProfilerInfo3::GetModuleInfo2, méthode