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
Foo
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 .

Foo?
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 .

foo*!bar
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

Confira também

Funções DbgHelp

SymEnumSymbolsProc