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