Función SymEnumerateModules (dbghelp.h)
Enumera todos los módulos cargados para el proceso por la función SymLoadModule64 o SymLoadModuleEx .
Sintaxis
BOOL IMAGEAPI SymEnumerateModules(
[in] HANDLE hProcess,
[in] PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
[in, optional] PVOID UserContext
);
Parámetros
[in] hProcess
Identificador del proceso que se pasó originalmente a la función SymInitialize .
[in] EnumModulesCallback
Función de devolución de llamada de enumeración. Esta función se llama una vez por módulo. Para obtener más información, vea SymEnumerateModulesProc64.
[in, optional] UserContext
Valor definido por el usuario o NULL. Este valor se pasa simplemente a la función de devolución de llamada. Normalmente, una aplicación usa este parámetro para pasar un puntero a una estructura de datos que permite que la función de devolución de llamada establezca algún tipo de contexto.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es TRUE.
Si se produce un error en la función, el valor devuelto es FALSE. Para recuperar información de error extendida, llame a GetLastError.
Comentarios
La función SymEnumerateModules64 enumera todos los módulos cargados para el proceso por SymLoadModule64, incluso si la carga de símbolos se aplaza. Se llama a la función de devolución de llamada de enumeración una vez para cada módulo y se pasa la información del módulo.
Todas las funciones DbgHelp, como esta, son un único subproceso. Por lo tanto, es probable que las llamadas desde más de un subproceso a esta función producirán un comportamiento inesperado o daños en la memoria. Para evitarlo, debe sincronizar todas las llamadas simultáneas de más de un subproceso a esta función.
Para llamar a la versión Unicode de esta función, defina DBGHELP_TRANSLATE_TCHAR. SymEnumerateModulesW64 se define de la siguiente manera en 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
Esta función sustituye a la función SymEnumerateModules . Para obtener más información, consulte Compatibilidad con la plataforma actualizada. SymEnumerateModules se define de la siguiente manera en 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
Ejemplos
Para obtener un ejemplo, consulte Enumeración de módulos de símbolos.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | dbghelp.h |
Library | Dbghelp.lib |
Archivo DLL | Dbghelp.dll |
Redistribuible | DbgHelp.dll 5.1 o posterior |