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. Il s’agit généralement d’une interface ISymUnmanagedReader.

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

Valeur de retour

S_OK correctement créé le lecteur.

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

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

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

Notes

Vous pouvez également utiliser cette méthode afin de créer un objet lecteur de symboles pour les modules en mémoire (non dynamiques), mais seulement une fois que les symboles sont disponibles (ce qui est indiqué par le rappel de la méthode UpdateModuleSymbols).

Cette méthode retourne une nouvelle instance de lecteur chaque fois qu’elle est appelée (par exemple CComPtrBase::CoCreateInstance). Le débogueur doit donc mettre en cache le résultat et demander une nouvelle instance uniquement quand les données sous-jacentes ont éventuellement changé (c’est-à-dire quand un rappel de la méthode LoadClass est reçu).

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

Configuration requise

Plateformes : Consultez Configuration requise.

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

Bibliothèque : CorGuids.lib

Versions de .NET Framework : 4.5, 4, 3.5 SP1

Voir aussi