Partager via


ICorDebugModule3 ::CreateReaderForInMemorySymbols, méthode

Crée un lecteur de symboles de débogage pour un module dynamique.

Syntaxe

HRESULT CreateReaderForInMemorySymbols (
      [in] REFIID riid,
      [out][iid_is(riid)] void **    ppObj

Paramètres

riid
[in] IID de l’interface COM à retourner. En règle générale, il s’agit d’une interface ISymUnmanagedReader.

ppObj
[out] Pointeur vers un pointeur vers l’interface retournée.

Valeur de retour

S_OK
Création réussie du lecteur.

CORDBG_E_MODULE_LOADED_FROM_DISK
Le module n’est pas un module en mémoire ou dynamique.

CORDBG_E_SYMBOLS_NOT_AVAILABLE
Les symboles n’ont pas été fournis par l’application ou ne sont pas encore disponibles.

E_FAIL (ou d’autres E_ codes de retour)
Impossible de créer le lecteur.

Remarques

Cette méthode peut également être utilisée pour créer un objet lecteur de symboles pour les modules en mémoire (non dynamiques), mais uniquement une fois les symboles disponibles pour la première fois (indiqués par le rappel de la méthode UpdateModuleSymbols ).

Cette méthode retourne une nouvelle instance de lecteur chaque fois qu’elle est appelée (comme CComPtrBase ::CoCreateInstance). Par conséquent, le débogueur doit mettre en cache le résultat et demander une nouvelle instance uniquement lorsque les données sous-jacentes peuvent avoir changé (autrement dit, lorsqu’un rappel de méthode LoadClass est reçu).

Les modules dynamiques n’ont pas de symboles disponibles tant que le premier type n’a pas été chargé (comme indiqué par le rappel de méthode LoadClass ).

Spécifications

Plates-formes: Consultez les systèmes d’exploitation pris en charge par .NET.

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

Bibliothèque: CorGuids.lib

Versions .NET : 4.5, 4, 3.5 SP1

Voir aussi