Função SymEnumerateSymbols (dbghelp.h)
Enumera todos os símbolos de um módulo especificado.
Sintaxe
DBHLP_DEPRECIATED BOOL IMAGEAPI SymEnumerateSymbols(
[in] HANDLE hProcess,
[in] ULONG BaseOfDll,
[in] PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback,
[in, optional] PVOID UserContext
);
Parâmetros
[in] hProcess
Um identificador para o processo. Esse identificador deve ter sido passado anteriormente para a função SymInitialize .
[in] BaseOfDll
O endereço base do módulo para o qual os símbolos devem ser enumerados.
[in] EnumSymbolsCallback
A função de retorno de chamada que recebe as informações do símbolo. Para obter mais informações, consulte SymEnumerateSymbolsProc64.
[in, optional] UserContext
Um valor definido pelo usuário ou NULL. Esse valor é 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.
Valor retornado
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 SymEnumerateSymbols64 enumera todos os símbolos do módulo especificado. As informações do módulo estão localizadas pelo parâmetro BaseOfDll . A função de retorno de chamada é chamada uma vez por símbolo e é passada as informações para cada símbolo.
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.
A versão Unicode dessa função, SymEnumerateSymbolsW64 , é definida da seguinte maneira em Dbghelp.h.
BOOL
IMAGEAPI
SymEnumerateSymbolsW64(
__in HANDLE hProcess,
__in ULONG64 BaseOfDll,
__in PSYM_ENUMSYMBOLS_CALLBACK64W EnumSymbolsCallback,
__in_opt PVOID UserContext
);
Essa função substitui a função SymEnumerateSymbols . Para obter mais informações, consulte Suporte de plataforma atualizado. SymEnumerateSymbols é definido da seguinte maneira em Dbghelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymEnumerateSymbols SymEnumerateSymbols64
#define SymEnumerateSymbolsW SymEnumerateSymbolsW64
#else
BOOL
IMAGEAPI
SymEnumerateSymbols(
__in HANDLE hProcess,
__in ULONG BaseOfDll,
__in PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback,
__in_opt PVOID UserContext
);
BOOL
IMAGEAPI
SymEnumerateSymbolsW(
__in HANDLE hProcess,
__in ULONG BaseOfDll,
__in PSYM_ENUMSYMBOLS_CALLBACKW EnumSymbolsCallback,
__in_opt PVOID UserContext
);
#endif
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | dbghelp.h |
Biblioteca | Dbghelp.lib |
DLL | Dbghelp.dll |
Redistribuível | DbgHelp.dll 5.1 ou posterior |