Função SymEnumSymbols (dbghelp.h)
Enumera todos os símbolos em um processo.
Sintaxe
BOOL IMAGEAPI SymEnumSymbols(
[in] HANDLE hProcess,
[in] ULONG64 BaseOfDll,
[in, optional] PCSTR Mask,
[in] PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
[in, optional] PVOID UserContext
);
Parâmetros
[in] hProcess
Um identificador para um processo. Esse identificador deve ter sido passado anteriormente para a função SymInitialize .
[in] BaseOfDll
O endereço base do módulo. Se esse valor for zero e Mask contiver um ponto de exclamação (!), a função examinará os módulos. Se esse valor for zero e Mask não contiver um ponto de exclamação, a função usará o escopo estabelecido pela função SymSetContext .
[in, optional] Mask
Uma cadeia de caracteres curinga que indica os nomes dos símbolos a serem enumerados. Opcionalmente, o texto pode conter os caracteres curinga, "*" e "?".
Para especificar um módulo ou conjunto específico de módulos, inicie o texto com uma cadeia de caracteres curinga especificando o módulo, seguido por um ponto de exclamação. Ao especificar um módulo, BaseOfDll é ignorado.
Valor | Significado |
---|---|
|
Se BaseOfDll não for zero, SymEnumSymbols procurará um símbolo global chamado "foo".
Se BaseOfDll for zero, SymEnumSymbols procurará um símbolo local chamado "foo" dentro do escopo estabelecido pela chamada mais recente para a função SymSetContext . |
|
Se BaseOfDll não for zero, SymEnumSymbols procurará um símbolo global que comece com "foo" e contenha um caractere extra posteriormente, como "tolo" e "pé".
Se BaseOfDll for zero, SymEnumSymbols procurará um símbolo que comece com "foo" e contenha um caractere extra posteriormente, como "tolo" e "pé". A pesquisa estaria dentro do escopo estabelecido pela chamada mais recente para a função SymSetContext . |
|
SymEnumSymbols examinará todos os módulos carregados que começam com o texto "foo" para um símbolo chamado "bar". Ele poderia encontrar correspondências como estas, "foot!bar", "footlocker!bar" e "fool!bar". |
|
SymEnumSymbols enumerará todos os símbolos em cada módulo carregado. |
[in] EnumSymbolsCallback
Uma função de retorno de chamada SymEnumSymbolsProc que recebe as informações de símbolo.
[in, optional] UserContext
Um valor definido pelo usuário que é passado para a função de retorno de chamada ou NULL. Esse parâmetro normalmente é usado por um aplicativo para passar um ponteiro para uma estrutura de dados que fornece contexto para a função de retorno de chamada.
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
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.
Exemplos
Para obter um exemplo, confira Como enumerar símbolos.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | dbghelp.h |
Biblioteca | Dbghelp.lib |
DLL | Dbghelp.dll |
Redistribuível | DbgHelp.dll 5.1 ou posterior |