Compartir vía


ICorDebugModule3::CreateReaderForInMemorySymbols (Método)

Crea un lector de símbolos de depuración para un módulo dinámico.

Sintaxis

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

Parámetros

riid [in] IiD de la interfaz COM que se va a devolver. Normalmente, se trata de una interfaz ISymUnmanagedReader.

ppObj [out] Puntero a un puntero a la interfaz devuelta.

Valor devuelto

S_OK Ha creado correctamente el lector.

CORDBG_E_MODULE_LOADED_FROM_DISK El módulo no es un módulo en memoria ni dinámico.

CORDBG_E_SYMBOLS_NOT_AVAILABLE La aplicación no ha proporcionado símbolos o aún no está disponible.

E_FAIL (u otros códigos de retorno de E_) No se puede crear el lector.

Comentarios

Este método también se puede usar para crear un objeto de lector de símbolos para módulos en memoria (no dinámicos), pero solo después de que los símbolos estén disponibles por primera vez (indicados por la devolución de llamada método UpdateModuleSymbols).

Este método devuelve una nueva instancia de lector cada vez que se llama (como CComPtrBase::CoCreateInstance). Por lo tanto, el depurador debe almacenar en caché el resultado y solicitar una nueva instancia solo cuando los datos subyacentes puedan haber cambiado (es decir, cuando se recibe una devolución de llamada del método LoadClass).

Los módulos dinámicos no tienen símbolos disponibles hasta que se haya cargado el primer tipo (como se indica en la devolución de llamada del método LoadClass).

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

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

Consulte también