Partager via


ICorProfilerInfo3::GetModuleInfo2, méthode

Étant donné un ID de module, retourne le nom de fichier du module, l'ID de l'assembly parent du module et un masque de bits qui décrit les propriétés du module.

Syntaxe

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

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.

pdwModuleFlags
[out] Masque de bits de valeurs de l’énumération COR_PRF_MODULE_FLAGS qui spécifie les propriétés du module.

Notes

Pour les modules dynamiques, le paramètre szName est le nom de métadonnées du module et l'adresse de base est 0 (zéro). Le nom de métadonnées est la valeur figurant dans la colonne Nom de la table Module dans les métadonnées. Il est également exposé en tant que propriété Module.ScopeName du code managé et en tant que paramètre szName de la méthode IMetaDataImport::GetScopeProps du code client de métadonnées non managé.

Bien que la méthode GetModuleInfo2 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 GetModuleInfo2, 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 GetModuleInfo2.

Vous pouvez également commencer par appeler GetModuleInfo2 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 GetModuleInfo2.

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 4

Voir aussi