Compartir a través de


Función SymGetModuleInfoW64 (dbghelp.h)

Recupera la información del módulo del módulo especificado.

Sintaxis

BOOL IMAGEAPI SymGetModuleInfoW64(
  [in]  HANDLE              hProcess,
  [in]  DWORD64             qwAddr,
  [out] PIMAGEHLP_MODULEW64 ModuleInfo
);

Parámetros

[in] hProcess

Identificador del proceso que se pasó originalmente a la función SymInitialize .

[in] qwAddr

Dirección virtual contenida en uno de los módulos cargados por la función SymLoadModule64 .

[out] ModuleInfo

Puntero a una estructura de IMAGEHLP_MODULEW64 . El miembro SizeOfStruct debe establecerse en el tamaño de la estructura IMAGEHLP_MODULEW64 . Un valor no válido producirá un error.

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

Se busca en la tabla de módulos un módulo que contiene dwAddr. El módulo se encuentra en función de la dirección de carga y el tamaño de cada módulo. Si se encuentra un módulo válido, el parámetro ModuleInfo se rellena con la información sobre el módulo.

El tamaño de la estructura de IMAGEHLP_MODULEW64 utilizada por esta función ha cambiado a lo largo de los años. Si se llama a una versión de DbgHelp.dll anterior a DbgHelp.h que se usa para compilar el código de llamada, esta función puede producir un error con un código de error de ERROR_INVALID_PARAMETER. Esto suele ocurrir cuando se llama a la versión del sistema (%WinDir%\System32\DbgHelp.dll). El código que llama a la versión del sistema de DbgHelp.dll debe compilarse con el SDK adecuado para esa versión de Windows o el SDK para una versión anterior.

El modelo recomendado es redistribuir la versión necesaria de DbgHelp.dll junto con el software que realiza la llamada. Esto permite al autor de la llamada usar las versiones más sólidas de DbgHelp.dll, así como una simplificación de las actualizaciones. La versión más reciente de DbgHelp.dll siempre se puede encontrar en el paquete Herramientas de depuración para Windows . Como regla general, el código compilado para trabajar con versiones anteriores siempre funcionará con versiones más recientes.

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. SymGetModuleInfoW64 se define de la siguiente manera en DbgHelp.h.


BOOL
IMAGEAPI
SymGetModuleInfoW64(
    __in HANDLE hProcess,
    __in DWORD64 qwAddr,
    __out PIMAGEHLP_MODULEW64 ModuleInfo
    );

#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymGetModuleInfo64   SymGetModuleInfoW64
#endif

Esta función sustituye a la función SymGetModuleInfo . Para obtener más información, consulte Compatibilidad con la plataforma actualizada. SymGetModuleInfo se define de la siguiente manera en DbgHelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetModuleInfo   SymGetModuleInfo64
#define SymGetModuleInfoW  SymGetModuleInfoW64
#else
BOOL
IMAGEAPI
SymGetModuleInfo(
    __in HANDLE hProcess,
    __in DWORD dwAddr,
    __out PIMAGEHLP_MODULE ModuleInfo
    );

BOOL
IMAGEAPI
SymGetModuleInfoW(
    __in HANDLE hProcess,
    __in DWORD dwAddr,
    __out PIMAGEHLP_MODULEW ModuleInfo
    );
#endif

Requisitos

   
Plataforma de destino Windows
Encabezado dbghelp.h
Library Dbghelp.lib
Archivo DLL Dbghelp.dll
Redistribuible DbgHelp.dll 5.1 o posterior

Consulte también

Funciones de DbgHelp

IMAGEHLP_MODULEW64

SymInitialize

SymLoadModule64