Compartir a través de


Función SymEnumSymbolsW (dbghelp.h)

Enumera todos los símbolos de un proceso.

Sintaxis

BOOL IMAGEAPI SymEnumSymbolsW(
  [in]           HANDLE                          hProcess,
  [in]           ULONG64                         BaseOfDll,
  [in, optional] PCWSTR                          Mask,
  [in]           PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,
  [in, optional] PVOID                           UserContext
);

Parámetros

[in] hProcess

Identificador de un proceso. Este identificador debe haberse pasado previamente a la función SymInitialize.

[in] BaseOfDll

Dirección base del módulo. Si este valor es cero y Mask contiene un signo de exclamación (!), la función busca en los módulos. Si este valor es cero y Mask no contiene un signo de exclamación, la función usa el ámbito establecido por la función SymSetContext.

[in, optional] Mask

Cadena comodín que indica los nombres de los símbolos que se van a enumerar. El texto puede contener opcionalmente los caracteres comodín, "*" y "?".

Para especificar un módulo específico o un conjunto de módulos, comience el texto con una cadena con caracteres comodín que especifica el módulo, seguido de un signo de exclamación. Al especificar un módulo, se omite BaseOfDll.

Valor Significado
foo
Si BaseOfDll no es cero, SymEnumSymbols buscará un símbolo global denominado "foo".

Si BaseOfDll es cero, SymEnumSymbols buscará un símbolo local denominado "foo" dentro del ámbito establecido por la llamada más reciente a la función SymSetContext.

foo?
Si BaseOfDll no es cero, SymEnumSymbols buscará un símbolo global que comience con "foo" y contenga un carácter adicional después, como "tonto" y "pie".

Si BaseOfDll es cero, SymEnumSymbols buscará un símbolo que comience con "foo" y contenga un carácter adicional después, como "tonto" y "pie". La búsqueda estaría dentro del ámbito establecido por la llamada más reciente a la función SymSetContext.

foo*!bar
SymEnumSymbols buscará en cada módulo cargado que comience con el texto "foo" para un símbolo denominado "bar". Podría encontrar coincidencias como estas, "foot!bar", "footlocker!bar" y "fool!bar".
*!*
SymEnumSymbols enumerará todos los símbolos de cada módulo cargado.

[in] EnumSymbolsCallback

Un SymEnumSymbolsProc función de devolución de llamada que recibe la información del símbolo.

[in, optional] UserContext

Valor definido por el usuario que se pasa a la función de devolución de llamada o NULL. Normalmente, una aplicación usa este parámetro para pasar un puntero a una estructura de datos que proporciona contexto para la función de devolución de llamada.

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.

Observaciones

Todas las funciones DbgHelp, como esta, son un solo subproceso. Por lo tanto, las llamadas de más de un subproceso a esta función probablemente provocarán un comportamiento inesperado o daños en la memoria. Para evitar esto, 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.

Ejemplos

Para obtener un ejemplo, vea enumerar símbolos.

Nota

El encabezado dbghelp.h define SymEnumSymbols como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
de la plataforma de destino de Windows
encabezado de dbghelp.h
biblioteca de Dbghelp.lib
DLL de Dbghelp.dll
redistribuible DbgHelp.dll 5.1 o posterior

Consulte también

funciones dbgHelp de

SymEnumSymbolsProc