Compartir a través de


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

Consulte también

Funciones de DbgHelp

SymInitialize

SymUnloadModule64