Partilhar via


Método ICorDebugModule3::CreateReaderForInMemorySymbols

Cria um leitor de símbolos de depuração para um módulo dinâmico.

Sintaxe

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

Parâmetros

riid [in] O IID da interface COM para retornar. Normalmente, esta é uma interface ISymUnmanagedReader.

ppObj [out] Ponteiro para um ponteiro para a interface retornada.

Devolver Valor

S_OK Criou com sucesso o leitor.

CORDBG_E_MODULE_LOADED_FROM_DISK O módulo não é um módulo dinâmico ou na memória.

CORDBG_E_SYMBOLS_NOT_AVAILABLE Os símbolos não foram fornecidos pela aplicação ou ainda não estão disponíveis.

E_FAIL (ou outros códigos de retorno E_) Não é possível criar o leitor.

Observações

Esse método também pode ser usado para criar um objeto leitor de símbolos para módulos na memória (não dinâmicos), mas somente depois que os símbolos estiverem disponíveis pela primeira vez (indicado pelo retorno de chamada do método UpdateModuleSymbols).

Esse método retorna uma nova instância de leitor sempre que é chamado (como CComPtrBase::CoCreateInstance). Portanto, o depurador deve armazenar em cache o resultado e solicitar uma nova instância somente quando os dados subjacentes podem ter sido alterados (ou seja, quando um retorno de chamada do Método LoadClass é recebido).

Os módulos dinâmicos não têm nenhum símbolo disponível até que o primeiro tipo tenha sido carregado (conforme indicado pelo retorno de chamada do Método LoadClass).

Requisitos

Plataformas: Consulte Requisitos do sistema.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: 4.5, 4, 3.5 SP1

Consulte também