Compartilhar via


Função SymEnumerateSymbols (dbghelp.h)

Enumera todos os símbolos de um módulo especificado.

Nota Essa função é fornecida apenas para compatibilidade. Os aplicativos devem usar o SymEnumSymbols, que é mais rápido e eficiente.
 

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

Confira também

Funções DbgHelp

SymEnumSymbols

SymEnumerateSymbolsProc64

SymInitialize