Метод ICorDebugModule3::CreateReaderForInMemorySymbols

Создает средство чтения символов отладки для динамического модуля.

Синтаксис

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

Параметры

riid
[in] Идентификатор IID возвращаемого COM-интерфейса. Как правило, это интерфейс ISymUnmanagedReader.

ppObj
[out] Указатель на указатель на возвращенный интерфейс.

Возвращаемое значение

S_OK
Средство чтения успешно создано.

CORDBG_E_MODULE_LOADED_FROM_DISK
Модуль не является в памяти или динамическим модулем.

CORDBG_E_SYMBOLS_NOT_AVAILABLE
Символы не были предоставлены приложением или пока недоступны.

E_FAIL (или другие коды возврата E_)
Не удается создать средство чтения.

Комментарии

Этот метод также можно использовать для создания объекта средства чтения символов для модулей в памяти (нединамических), но только после того, как символы будут впервые доступны (о чем указывает обратный вызов метода UpdateModuleSymbols ).

Этот метод возвращает новый экземпляр средства чтения при каждом вызове (например , CComPtrBase::CoCreateInstance). Таким образом, отладчик должен кэшировать результат и запрашивать новый экземпляр только при изменении базовых данных (то есть при получении обратного вызова метода LoadClass ).

Динамические модули не имеют символов, доступных до загрузки первого типа (как указано в обратном вызове метода LoadClass ).

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorDebug.idl, CorDebug.h

Библиотека: CorGuids.lib

платформа .NET Framework версии: 4.5, 4, 3.5 с пакетом обновления 1 (SP1)

См. также раздел