Compartilhar via


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

Confira também

Funções DbgHelp

SymEnumerateModulesProc64

SymInitialize

SymLoadModule64