Función SymLoadModule (dbghelp.h)
Carga la tabla de símbolos.
Esta función se ha reemplazado por la función SymLoadModuleEx .
Sintaxis
DWORD IMAGEAPI SymLoadModule(
[in] HANDLE hProcess,
[in, optional] HANDLE hFile,
[in, optional] PCSTR ImageName,
[in, optional] PCSTR ModuleName,
[in] DWORD BaseOfDll,
[in] DWORD SizeOfDll
);
Parámetros
[in] hProcess
Identificador del proceso. Este identificador debe haberse pasado previamente a la función SymInitialize .
[in, optional] hFile
Identificador del archivo para la imagen ejecutable. Este argumento se usa principalmente por los depuradores, donde el depurador pasa el identificador de archivo obtenido de un evento de depuración. Un valor de NULL indica que hFile no se usa.
[in, optional] ImageName
Nombre de la imagen ejecutable. Este nombre puede contener una ruta de acceso parcial, una ruta de acceso completa o ninguna ruta de acceso. Si el nombre proporcionado no puede encontrar el archivo, se usa la ruta de búsqueda de símbolos.
[in, optional] ModuleName
Un nombre de método abreviado para el módulo. Si el valor del puntero es NULL, la biblioteca crea un nombre con el nombre base del archivo de símbolos.
[in] BaseOfDll
La dirección de carga del módulo. Si el valor es cero, la biblioteca obtiene la dirección de carga del archivo de símbolos. La dirección de carga contenida en el archivo de símbolos no es necesariamente la dirección de carga real. Los depuradores y otras aplicaciones que tienen una dirección de carga real deben usar la dirección de carga real al llamar a esta función.
Si la imagen es un archivo .pdb, este parámetro no puede ser cero.
[in] SizeOfDll
Tamaño del módulo, en bytes. Si el valor es cero, la biblioteca obtiene el tamaño del archivo de símbolos. El tamaño contenido en el archivo de símbolos no es necesariamente el tamaño real. Los depuradores y otras aplicaciones que tienen un tamaño real deben usar el tamaño real al llamar a esta función.
Si la imagen es un archivo .pdb, este parámetro no puede ser cero.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es la dirección base del módulo cargado.
Si la función no se realiza correctamente, el valor devuelto es cero. Para recuperar información de error extendida, llame a GetLastError.
Si el módulo ya está cargado, el valor devuelto es cero y GetLastError devuelve ERROR_SUCCESS.
Comentarios
El controlador de símbolos crea una entrada para el módulo y, si la opción de carga de símbolos diferida está desactivada, se intenta cargar los símbolos. Si la carga de símbolos diferida está habilitada, el módulo se marca como diferido y los símbolos no se cargan hasta que se realiza una referencia a un símbolo del módulo.
Para descargar la tabla de símbolos, use la función SymUnloadModule64 .
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.
Esta función sustituye a la función SymLoadModule . Para obtener más información, consulte Compatibilidad con la plataforma actualizada. SymLoadModule se define como se indica a continuación en DbgHelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymLoadModule SymLoadModule64
#else
DWORD
IMAGEAPI
SymLoadModule(
__in HANDLE hProcess,
__in_opt HANDLE hFile,
__in_opt PCSTR ImageName,
__in_opt PCSTR ModuleName,
__in DWORD BaseOfDll,
__in DWORD SizeOfDll
);
#endif
Requisitos
Plataforma de destino | Windows |
Encabezado | dbghelp.h |
Library | Dbghelp.lib |
Archivo DLL | Dbghelp.dll |
Redistribuible | DbgHelp.dll 5.1 o posterior |