Compartilhar 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, essa é uma interface ISymUnmanagedReader.

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

Valor de retorno

S_OK Criou o leitor com sucesso.

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

CORDBG_E_SYMBOLS_NOT_AVAILABLE Os símbolos não foram fornecidos pelo aplicativo ou ainda não estão disponíveis.

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

Comentários

Esse método também pode ser usado para criar um objeto de 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 do leitor sempre que é chamado (como CComPtrBase::CoCreateInstance). Portanto, o depurador só deve armazenar em cache o resultado e solicitar uma nova instância quando houver possibilidade de os dados subjacentes terem 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: confira Requisitos do sistema.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

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

Confira também