Função SymEnumerateModules (dbghelp.h)
Enumera todos os módulos que foram carregados para o processo pela função SymLoadModule64 ou SymLoadModuleEx .
Sintaxe
BOOL IMAGEAPI SymEnumerateModules(
[in] HANDLE hProcess,
[in] PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
[in, optional] PVOID UserContext
);
Parâmetros
[in] hProcess
Um identificador para o processo que foi originalmente passado para a função SymInitialize .
[in] EnumModulesCallback
A função de retorno de chamada de enumeração. Essa função é chamada uma vez por módulo. Para obter mais informações, consulte SymEnumerateModulesProc64.
[in, optional] UserContext
Um valor definido pelo usuário ou NULL. Esse valor é simplesmente passado para a função de retorno de chamada. Normalmente, esse parâmetro é usado por um aplicativo para passar um ponteiro para uma estrutura de dados que permite que a função de retorno de chamada estabeleça algum tipo de contexto.
Retornar valor
Se a função for bem-sucedida, o valor retornado será TRUE.
Se a função falhar, o valor retornado será FALSE. Para recuperar informações de erro estendidas, chame GetLastError.
Comentários
A função SymEnumerateModules64 enumera todos os módulos que foram carregados para o processo por SymLoadModule64, mesmo que o carregamento do símbolo seja adiado. A função de retorno de chamada de enumeração é chamada uma vez para cada módulo e é passada as informações do módulo.
Todas as funções DbgHelp, como esta, são threaded único. Portanto, chamadas de mais de um thread para essa função provavelmente resultarão em comportamento inesperado ou corrupção de memória. Para evitar isso, você deve sincronizar todas as chamadas simultâneas de mais de um thread para essa função.
Para chamar a versão Unicode dessa função, defina DBGHELP_TRANSLATE_TCHAR. SymEnumerateModulesW64 é definido da seguinte maneira em Dbghelp.h.
BOOL
IMAGEAPI
SymEnumerateModulesW64(
__in HANDLE hProcess,
__in PSYM_ENUMMODULES_CALLBACKW64 EnumModulesCallback,
__in_opt PVOID UserContext
);
#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymEnumerateModules64 SymEnumerateModulesW64
#endif
Essa função substitui a função SymEnumerateModules . Para obter mais informações, consulte Suporte de plataforma atualizado. SymEnumerateModules é definido da seguinte maneira em Dbghelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymEnumerateModules SymEnumerateModules64
#else
BOOL
IMAGEAPI
SymEnumerateModules(
__in HANDLE hProcess,
__in PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
__in_opt PVOID UserContext
);
#endif
Exemplos
Para obter um exemplo, confira Como enumerar módulos de símbolo.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | dbghelp.h |
Biblioteca | Dbghelp.lib |
DLL | Dbghelp.dll |
Redistribuível | DbgHelp.dll 5.1 ou posterior |